Computer based browsing computer program product, system and method

ABSTRACT

A computer based browsing computer program product, system and method arranges a set of information hosted on a computer into a book or a set of books, where each book includes a subset of the set of information, labels each book with a respective portion of the subset of the set of information, and selects a book from the set of books. Selecting the book from the set of books includes steps of displaying the respective portions of the books as a book document image that includes pages which correspond to the respective portions of the books, generating a command for moving through the pages, displaying an animated image of the pages of the book document being at least one of flipped, scrolled, slid and flashed images, and selecting the book when a selected one of the pages containing a selection portion of the book is earlier displayed.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application contains subject matter related to copendingpatent application Ser. No. 08/703,407, filed Aug. 26, 1996, andcopending patent application Ser. No. 08/703,404, both of which areincorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to a computer based browsingcomputer program product, system and method for browsing throughdocuments stored in a computer. Specifically, the present inventionfacilitates the browsing of a document stored in a computer in such away that it allows a rapid and holistic view of what contents arepresent and the organization of the material in the document, as well asrapid access to the items in the document involved. Thedocument-browsing system in the present invention is also generalized toprovide a novel human-computer interface, not just for browsingdocuments but also for interacting with and operating a computer toachieve the various functionalities normally carried out on thecomputer.

[0004] 2. Description of the Related Art

[0005] Currently, the method for viewing documents stored in a computeris through a computer monitor screen. For documents that arelonger/larger than can be contained within one screen, a way is providedto scroll the document up and down or to jump to a particular point inthe document (through the use of, for example, a “mouse” coupled withscroll bars at the edges of the document displayed on the screen orthrough the use of hypertext links).

[0006] However, most people do not find this a particularly convenientway to view a document, as compared with a book. That this is true isevidenced in the fact that despite the trend of increased computerusage, there is not only no corresponding reduction in paper use, but anincrease in paper quantity is required to print what is convenientlystored in a computer that can be seemingly easily and flexiblymanipulated for viewing. Sometimes the printed version of theinformation involved is necessary, like in the case of printing apicture on a sheet of paper to be pasted on some surface (e.g., a wall),or in the case of the convenience of having a relatively light, hardypaperback book for reading in almost any possible situation andlocation. Reading textual material on the computer screen for aprolonged period of time also leads to visual fatigue. But there aretimes when a reader does not need to read for a prolonged period of timeand is quite happy to sit at a desk in front of a desktop computer orhandle a notebook computer away from the desk, and yet the reader wouldstill prefer a printed version of the document in a hand-held format.This is especially true in the case of looking through manuals,including software manuals, to understand how to operate a device orsoftware application. The irony is that computer software packages(included in computer readable media, such as optical disks, magneticdisks, semiconductor memory, etc.) usually come with thick and heavymanuals containing information which can easily be stored on alight-weight CD-ROM, and even if the manuals are sometimes dispensed inthe form of a CD-ROM, more often than not people would print them outinto a hard-copy format in order to facilitate reading.

[0007] What is involved when one interacts with the printed material ina book is a subtle and complicated process. To start with, material in abook is presented in a sequential order, with a continuity of materialfrom page to page, and there is also a hierarchical structure in thematerial presented (as the material is organized into chapters,sections, subsections, etc.) because ideas in the material are relatedto each other in some kind of conceptual hierarchy. The human perceptualsystem inputs data in a sequential manner, and after a book is read fromthe beginning to the end in a sequential fashion, the brain thenrecreates the conceptual hierarchy after viewing the material involved.However, very often one does not read a book (or input the materialinvolved) from the beginning to the end because (a) one wants to have anoverview of the material present; (b) one is searching for something ofinterest to him/her; or (c) one is interested in reading only portionsof the book (in the case of, say, reading the manual to understand howto operate something). In these cases, one browses through the subjectbook to find the material of unique interest to that reader.

[0008] Two basic things are achieved in the browsing process. First, thebrowser has a glimpse of what are the contents of the book document.Second, the browser has an idea of approximately where the items ofinterest are so that the browser can (a) return to look for them laterwhen needed, and (b) have an understanding of the relationships betweenthe material currently being viewed and other material (i.e., anunderstanding of the hierarchical structure involved). When browsing abook document, many finger-operations are required of the browser inorder to flip through the pages and, together with the inherentsequential order imposed by the pages, very quickly allow the browser tohave an understanding of the nature, location and organization of thematerial involved.

[0009] In the process of browsing through a book, one can perform thefollowing operations:

[0010] (a) flip through the pages at varying speeds depending on thelevel of detail at which one wishes to view the material in the book;

[0011] (b) jump to the approximate location of the item of interest;

[0012] (c) change the direction of flipping (forward or backward) veryrapidly because

[0013] (i) one would like to compare and contrast material on differentpages,

[0014] (ii) after jumping to an approximate location of some items ofinterest one would like to find their exact locations, or

[0015] (iii) one is unsure of where the item of interest is and is inthe process of searching for it; and

[0016] (d) mark the locations of some pages of interest that one maywant to later return.

[0017] All these operations are performed very rapidly with the fingersinteracting with the flipping pages and with minimal unnecessarymovements of the fingers and hands. Interestingly, a book/magazine withsoft and flexible pages is harder to handle because more finger and handmovements are needed to browse through it, while books with stiff pagescan be browsed with almost no movement of the hand.

[0018] In currently available methods of browsing through documentsstored in a computer, e.g., the use of a mouse combined with scroll barsand buttons on the computer screen, more movements of the hands arenecessary to effect the various operations described above. Also, finecontrol of the hand or fingers (depending on whether the mouse uses handmovement to move the cursor on the screen or finger movement like in thecase of a track ball) is necessary to position the cursor on the screenat the required places. The process is both lengthy and clumsy. Thelengthiness of the process taxes the human short term memory's abilityto remember items encountered in the recent past for the purpose ofestablishing the relationships between items and the clumsiness of theprocess creates distraction and interferes with the short term memoryprocess, a well known effect in perceptual psychology. These destroy theability of the reader to form an idea of the contents andstructure—i.e., a holistic view—of the document involved.

[0019] Because material in a book is organized into pages, it allows thereader to quantify approximately the amount of coverage given to eachtopic—e.g., three-quarters of a page, three-and-a-half pages, etc. Inaddition, page-oriented organization together with the fact that thepages are joined together in a sequential order with a continuity ofmaterial from page to page enhance the ability of the reader to betterremember the location of various portions of the material involved(e.g., roughly how many pages from the pages currently in view). Also,unlike the process of scrolling through a document on a screen like whatis normally done in a word-processor, wherein the contents become a blurand reading is impossible, when one moves through the material in a bookthrough flipping, one is still able to read at least the approximatecontents, if not the details. This, together with the page-orientedorganization that enhances the user's impression of the location ofmaterial viewed, allow the user to form an impression of theorganization of the material in the document.

[0020] Another method used for presenting information on the computerscreen is flashing one page of information after another. This methodeliminates the problem of blurred images but it also eliminates thecontinuity between different portions of the document. In turn, the lackof continuity eliminates the reader's ability to form impressions of theapproximate absolute locations of these portions of the materialinvolved and hence the impressions of the relationships between theseportions of the material. As recognized by the present inventor, onlythe flipping method normally present in a book (e.g., a hardcover book)is able to provide both continuity and readable pages in view. It is dueto these features that a person browsing through a book can acquire agood understanding of its contents, the location of specific items andorganization of the material, and hence a holistic view of the bookinvolved.

[0021] As recognized by the present inventor, it is because of thereasons set forth above that people still prefer to read a book in theirhands rather than a document image displayed on a computer screen usingcurrently available methods.

[0022] U.S. Pat. No. 5,467,102 (Kuno et al.) discloses a device fordocument viewing that consists of two display screens. One of thepurposes of using two display screens is to allow the user to displaytwo different pages from the document so that they can be readside-by-side (e.g., a diagram and its textual explanation). Anotherpurpose is to allow a large picture to be displayed simultaneously onboth pages. The Kuno et al. device allows users to change the speed ofmovement through the document through a pressure sensor—the morepressure applied, the faster the pages in the document are movedthrough. The Kuno et al. device also allows the document to be viewed inthe forward or backward direction by pressing on a forward sensor areaor a reverse sensor area respectively. One can also select a page tojump to by pressing on an icon displayed on the screen. However the Kunoet al. device still does not provide the same convenience as browsingthrough a book, primarily because when switching between the operationsfor different controls—the speed of movement through the document, thechange of direction of viewing, and the jumping to different parts ofthe document—there are a lot more hand and finger movements than is thecase in manipulating a physical book. Moreover, the Kuno et al. deviceis a specialized, relatively costly device with sensors and hardwarebuilt onto two display screens, whereas the present inventor recognizesthat a lower cost and more practical device would be one that addsmodularly to the existing computer system.

[0023] Currently, there are also computer mice that can eliminate theabove-mentioned problem of positioning cursor on the computer screenwith a conventional mouse (i.e., fine control of the hand or fingers isneeded). These mice allow the user to specify “hot locations” on thescreen on which the cursor “homes onto” with less fine control thanconventional mice. Furthermore, a subset of these mice can generate“vertical only” or “horizontal only” movement of the cursor so that thescrolling process requires less fine control of the muscle than isrequired with a conventional mouse. These mice eliminate some, but notall, of the problems associated with the conventional methods ofcomputer input as far as computer-based document browsing is concerned.

[0024] In U.S. Pat. No. 5,417,575 (1995) McTaggart discloses anelectronic book that comprises laminated sheets bound together in theform of a book. On each of these sheets, printed material is arranged onthe top layer and below that layer is an electronic backdrop containingthin light-emitting diodes (LED's) and pressure sensitive switchesaffixed onto a backing sheet. The LED's generate visual signals that canbe seen through the top layer for the purpose of highlighting parts ofthe printed material. The pressure switches, positioned under certainitems in the printed material, are for the purpose of sensing the user'sselection of those items. A speaker is also provided on the book togenerate audio signals for explaining the text or giving the user audiofeedback. Contact or photo-sensitive switches are also embedded in thepages to allow the electronic circuits to know which pages are currentlybeing viewed, so that the appropriate audio and visual signals can begenerated. Even though this apparatus is in a form that allows a personto handle it like handling a typical book, with visual and audioenhancements of the printed material as well as facilities that acceptthe user's feedback, it is basically a hard-wired device that is notreprogrammable and different hardware has to be configured for bookswith different contents. No provision is available for downloadingdocument files from a computer for display on the electronic book nor isthe electronic book able to display any arbitrary document file. Thisdevice is hence not suitable for browsing through documents stored in acomputer.

[0025] Therefore, the present inventor has identified there exists aneed for a low-cost, modular device that can be connected to existingcomputer systems and that, through the computer executing a set ofoperations stored on a computer-readable medium, can effect rapidly thenecessary browsing operations and together with a preferred mode ofmoving through a document—e.g., the flipping mode—that permits easy,effective computer-based document browsing that approaches that ofbrowsing through a book. A feature of such a system is that it wouldexhibit functional attributes like those of a paper-book (i.e., aphysical book such as a paper-back book).

[0026] The method of browsing a physical book can also benefit anotheraspect of human-computer interaction. In 1997, the most popular type ofhuman-computer interface—the WINDOWS interface (e.g., MICROSOFTCorporation's WINDOWS 95® or APPLE Computer's MAC operating system,OS)—also suffers from many of the problems associated with readingdocuments on a computer. Basically, there are two situations when“windows” are created on the computer screen. The first is when the userneeds to look into the contents of “directories” containing either otherdirectories or computer programs and data files. In this situation, whatare displayed in a window when it is opened are the contents of adirectory. This way, a user can navigate among the directories organizedin a tree structure and resident on the computer hard-disks to locateprograms (often called “applications”) and data. The other is when auser activates a program, and the program either generates some outputto be displayed on the computer screen or is waiting to accept some userinput (usually either a command to the program or data to be fed intothe program). In the WINDOWS interface, these output and input arepresented and accepted through a “window”, referred to as the workingwindow of a program.

[0027] In the case of the use of multiple windows to display thecontents of directories in the process of searching for a certain item(either a directory, a program or a data file), if one knows exactlyunder which directory an item of interest is placed, the tree-orientedstructure present in this kind of system can greatly facilitate thesearch for the item. However, if one does not know where the item isplaced, one would need to carry out a large number of operationsopening/entering and closing/exiting directories, often across and upand down many levels of the directory structure, and this is carried outwith a large number of, and often tiring, operations involving clickingand dragging the mouse (or other pointing device).

[0028] The situation is compounded by the fact that often the contentsof a directory cannot fit entirely within a window. When that happens, amouse-cum-scroll-bar method, much like that used for browsing throughdocuments on a computer, is available for use to reveal the hidden partsof the directory involved. The situation is similar to viewing documentson computers, where the process of entering, exiting and scrolling upand down directory windows to search for items of interest demands alarge number of finger and hand operations and movement. Also, theflashing in and out of view of these directory windows results in adiscrete, non-continuous, and random sequence of images. This results ina poor idea of items' location in the entire directory structure as wellas the inability to form a holistic view of the entire collection ofprogram and data files resident on the computer's hard-disk.

[0029] In the case of computer programs using multiple windows tointeract with a user, because each opened window tends to occlude otherwindows already present, it is often the case that in the process ofaccomplishing a certain task (e.g., creating a multimedia document), alarge and often confusing sequence of windows has to be opened, closedor moved aside, each window representing an activation of a program toaccomplish some subtasks (e.g., extracting some text from a text file,extracting a sub-part of an image from an image file, carrying out someprocessing on the images thus obtained, “pasting” all these itemstogether in yet another program, etc.) Again a large number of fingerand hand operations and movement is required to carry out theseoperations through the use of a mouse. Furthermore, because the variouswindows thus opened in this process do not have any fixed locations, andtheir relative locations keep changing, an excessive amount of mouseoperations is often needed just to locate these opened windows or putthem away for later use.

[0030] The WINDOWS interface derives from the desktop metaphor, in whichthe computer screen is likened to the desktop, and the windows are thusanalogous to items that one normally handles on a desktop. While thedesktop interface is a large improvement over the previous kind ofcommand line interface (e.g., MICROSOFT's DOS®), primarily because ofits user-friendly graphical interface and menu driven input, it suffersfrom the same problem of the desktop: when the items to be handled aremany, the desktop tends to become very messy, and one often has to keeppushing aside many items to look for other items.

[0031] As a practical matter, when a large number of sheets of papersare handled by a person, either to collect information on various thingsor to scribble down ideas, one often joins (perhaps by a staple orbinder clip) these sheets of paper into a temporary “book”, or one usesa scrap book with blank pages on which the user may scribble-down ideas.However, the working items, once bound together, are not necessarilyrelated to one another, and thus, are different than a paper book inwhich the various portions of material are often related to one another.This organization of these sheets of paper allows one to obtain theusual advantages associated with a book, namely, the items of interestacquire absolute locations, and together with the finger/hand operationsone can normally apply to a book to search for information, the items ofinterest can easily be located. Because the pages thus organized in abook can be quickly and easily located and viewed, the effect istantamount to having multiple pages in view almost simultaneously, andhence it will alleviate the problems associated with the occlusion ofpages by other pages or windows by other windows.

[0032] Thus, the present inventor has identified that there is a needfor a higher level of organization built onto the currently availableWINDOWS interface—a “Books” interface—that can be used in conjunctionwith the above-mentioned low-cost, modular device that can alleviatemany of the problems associated with the WINDOWS interface in order tofacilitate human-computer interaction.

SUMMARY OF THE INVENTION

[0033] In view of the aforementioned short-comings of presentlyavailable schemes for browsing through documents stored in a computer,one objective of the present invention is to overcome theseshort-comings of conventional systems, computer-readable media, andmethods.

[0034] Another object is to provide a browsing device that exploits theuse of finger operations normally involved in browsing through a book,namely, the change of speed of movement through the document involved,the change of direction of movement through the document, the jumping toother portions of the document and the bookmarking of pages (e.g., whena page is bookmarked, it can be returned/jumped to later very quickly byusing the controls operated by the fingers).

[0035] Another object of the invention is that the positioning,arrangement, and operability of the controls for the above-mentionedoperations performed by the fingers are such that they allow almost nomovement of the hand and minimal movements of the fingers, thusmaximizing the ease of browsing through the stored document bycapitalizing on the dexterity of the human fingers to operate thesecontrols.

[0036] A further object of the invention is to provide a low cost,modular browsing device that can be easily attached to existing computersystems much like how a mouse attaches to a computer system.

[0037] Still a further objective is to provide a reconfigurableconstruct for the browsing device so that it can be (a) configured intoa hand-held controller; (b) attached to the sides of existing computerscreens; (c) configured to cooperate with a mouse so that there is noneed to move the user's hand(s) when switching between browser-relatedoperations and mouse-related operations; and (d) configured to cooperatewith a gyro-mouse so that the entire assembly can be used in the absenceof a table top, where the particular construct is selected by the userdepending on the user's preference.

[0038] Another object of the invention is to provide a computer-readablemedium that holds software that when executed by a computer displays, onthe computer screen, the document to be browsed by way of browsingcommands generated by the user actuating the browsing device. Thedisplay is in the form of a book format image that shows the thicknessesof material in the document before and after the currently viewedmaterial, showing of the bookmarks, and showing, on the thicknesses, ofthe location of the pages that would be jumped to at any given time ifjumping were to be effected.

[0039] Another object of the invention is to provide a system,computer-based process, and method that permit different organizationsof material in the document and corresponding display formats,including: (a) organized into pages that can be flipped through page bypage from right to left or vice versa, much like what happens when oneflips through a book; (b) organized into pages that can be flippedthrough page by page from bottom to top or vice versa, much like whathappens when one flips through a notepad; (c) organized into pages thatcan be slid through page by page from right to left or vice versa, muchlike what happens when one views a microfilm; (d) organized into pagesthat can be flashed one after another; and (e) organized into pages thatcan be scrolled through, with no distinct page boundaries, much likewhat is normally done in a computer implemented word-processorapplication stored on a computer-readable medium. The first threemethods when used together with the aforementioned browsing deviceresult in a browsing process that most resembles that of browsingthrough a book, a notepad, or a micro-film. The last two methods do notprecisely emulate the book-browsing process but can still benefit fromthe rapidity of finger control effected on the browsing device.

[0040] Another object of the invention is to provide a computer basedmechanism that implements simultaneous multiple indexing in conjunctionwith the inventive browsing system. When a keyword of interest isencountered during the reading of the document, the user selects thekeyword using a cursor on the screen in conjunction with a pointingdevice such as a mouse, like what is normally done in current computersystems, or using his/her finger in conjunction with a touch or pressuresensing screen, or other methods. In response, the pages on whichexplanations or other issues related to this keyword reside arebookmarked by the inventive system, after which the user can quicklyflip to one of these pages using the mechanisms provided in the browsingsystem.

[0041] Another object of the invention is to use the above-describedbrowsing facility in conjunction with other software, storable oncomputer readable media, that is configured to reorganize the materialin the document involved to facilitate browsing/viewing—for example, thepositioning of material for comparison side by side on the pagescurrently being viewed.

[0042] Another object of the invention is to use the above-mentionedbrowsing facility in conjunction with software, storable on computerreadable media, that can highlight selected portions of the material orannotate on the pages in the document involved to facilitatebrowsing/viewing/reading.

[0043] Yet another object of the invention is to provide theabove-mentioned browsing facility to a computer configured to executeword processing software so as to facilitate the entering, processing,and viewing/browsing of material in conjunction with the word processingsoftware.

[0044] Another object of the invention is to provide the above-mentionedbrowsing facility to any software, storable in a computer-readablemedium, in which information cannot be fitted within one computer screenfor viewing or manipulating.

[0045] Yet another object of the invention is to add a new metaphormechanism—the “library metaphor”—to the computer operating system'shuman interface in which information on the computer screen which istraditionally presented in the form of windows is now be presented inthe form of “books”.

[0046] These and other objects are achieved by providing aprocessor-based browsing device, system, computer-readable media, andmethod for browsing through a document that includes, a top surface, asensor surface and a bottom surface. A sensor area on the sensor surfacedetects the position of a finger along one direction and the force ofthe finger on the sensor area. The browsing device also includes fourbuttons/on-off switches on the bottom surface, and four additionalbuttons/on-off switches on the said top surface, each of which isoperated by the fingers. An electrical circuit converts the force andposition of the finger on the sensor area as detected by the force andposition sensors on that area into electrical forms and outputs them.The electrical circuit also outputs the on/off states of the fourbuttons/on-off switches on the bottom surface, and four additionalbuttons/on-off switches on the said top surface. The device connects toa computer configured to implement in software the control, sense, anddisplay mechanisms consistent with the users activity with the browsingdevice.

BRIEF DESCRIPTION OF THE DRAWINGS

[0047] A more complete appreciation of the invention and many of theattendant advantages thereof will be readily obtained as the samebecomes better understood by reference to the following detaileddescription when considered in connection with the accompanyingdrawings, wherein:

[0048]FIG. 1A is the block diagram of the browsing device according tothe present invention, detailing input commands and output signals;

[0049]FIGS. 1B and 1C are a schematic perspective upper and lower viewsof a first embodiment of the browsing device;

[0050]FIGS. 2A and 2B are top/bottom perspective views of the browsingdevice configured into a mini-book configuration used in conjunctionwith a computer;

[0051]FIG. 2C is front perspective view of the browsing deviceconfigured into a screen configuration used in conjunction with acomputer;

[0052]FIG. 2D is a front perspective view of the browsing deviceconfigured into a mouse configuration used in conjunction with acomputer;

[0053]FIG. 2E is a front perspective view of the browsing deviceconfigured into a gyro-mouse configuration used in conjunction with acomputer;

[0054]FIG. 2F is a front perspective view of the browsing deviceconfigured into a one-hand configuration used in conjunction with acomputer;

[0055]FIG. 2G is a front perspective view of the browsing deviceconfigured into a one-hand-gyro-mouse configuration used in conjunctionwith a computer;

[0056]FIGS. 2H and 2I are side perspective and bottom views respectivelyof another embodiment of the mini-book configuration of FIG. 2A;

[0057]FIG. 3 is a top perspective view of a computer book displayed on ascreen that is to be browsed through using browsing device of thepresent invention;

[0058]FIGS. 4A and 4B are a flowchart that details the mechanisms forjumping to other parts of the document being viewed/browsed through andmovement through a document under the control of the thumb on thebrowsing device of present invention;

[0059]FIG. 5A is a top view of the computer book of the presentinvention that uses a flipping method of moving through a document;

[0060]FIG. 5B is a top view of the computer book of the presentinvention that uses a sliding method of moving through a document;

[0061]FIG. 5C is a top view of the computer book of the presentinvention that uses a flashing method of moving through a document;

[0062]FIG. 5D is a top view of the computer book of the presentinvention that uses a scrolling method of moving through a document;

[0063]FIG. 5E is a top perspective view of the computer book of thepresent invention that uses a vertical flipping method of moving througha document;

[0064]FIG. 6A is a top perspective view of an open fan display fordisplaying pages and that is used in conjunction with the flippingmethod of moving through the document illustrated in FIG. 5A;

[0065]FIG. 6B is a top perspective view of a collapsed fan display fordisplaying pages and that is used in conjunction with the flippingmethod of moving through the document illustrated in FIG. 5A;

[0066]FIG. 7 is a schematic block diagram of the browsing system thatincorporates the inventive browsing device of FIG. 1B;

[0067]FIG. 8 is a schematic electrical block diagram of the buttons andsensor portions of the browsing device of FIGS. 1B and 1C;

[0068]FIG. 9A is a schematic diagram of the signal-generating circuitused with any of the devices depicted in FIGS. 2A-2I to generate thenecessary output signals to the computer's RS232 port based on thevarious input commands as depicted in the block diagram in FIG. 1A;

[0069]FIG. 9B is a data structure of a communication signal formatstored in memory and generated by the circuit of FIG. 9A to communicatewith the computer through the RS232 port;

[0070]FIG. 9C is a flowchart of a control program retrievable by themicro-controller chip 900 in the circuit of FIG. 9A so as to generatesignals in the format of FIG. 9B for the RS232 port of the computer;

[0071]FIG. 9D is a signal flow diagram of signals from the browsingdevice to the browsing/viewing software;

[0072]FIG. 10A illustrates a computer book displayed on a screen that isto be browsed by using the flipping method and the browsing device ofthe present invention;

[0073]FIG. 10B is a sequence of images showing how one page of thecomputer book in FIG. 10A flips across;

[0074]FIG. 10C illustrates the simultaneous flipping of more than onepage of the computer book of FIG. 10A when the flipping speed is fast;

[0075]FIG. 10D illustrates the activation of a jump cursor operation onthe thickness of the book in FIG. 10A;

[0076]FIG. 10E illustrates a jump operation to a different portion ofthe book;

[0077]FIG. 10F illustrates the creation of a finger-bookmark;

[0078]FIG. 10G illustrates the retention of the finger-bookmark createdin FIG. 10F;

[0079]FIG. 10H illustrates a jump operation made to a finger-bookmarkedpage;

[0080]FIG. 10I illustrates all the created finger-bookmarks;

[0081]FIG. 11 shows a WINDOWS interface that allows the user to adjustthe sensitivities of the force and position sensor on the browsingdevice;

[0082]FIGS. 12A-12I show the flowchart of one embodiment of acomputer-based process that generates the necessary operations for thepurpose of browsing through a document as controlled from a browsingdevice;

[0083]FIGS. 13A-13B show a flipping display embodiment of the presentinvention;

[0084]FIGS. 14A-14C illustrate the process by which the flipping displayof FIGS. 13A and 13B is generated;

[0085] FIGS. 15A-C are schematic perspective views of another embodimentof the browsing device that uses many thin, hard, and flexible pieces ofmaterial bound together in the manner of the binding of the pages of abook;

[0086]FIGS. 16A-16B are top/bottom schematic perspective views ofanother embodiment of the browsing device that uses a display screenfitted to a slanted surface to display a material thicknesses before orafter currently viewed material;

[0087]FIG. 17A is a comparative schematic diagram ofdirectories/sub-directories in a “window” compared with pages of acomputer book that uses the flipping method of FIG. 5A in order to movethrough the book;

[0088]FIG. 17B is a comparative schematic diagram ofdirectories/sub-directories and the files in a WINDOWS system comparedwith chapters and sections in a computer book that uses the flippingmethod of FIG. 5A to move through the book;

[0089]FIG. 17C is a comparative schematic diagram of working windows ina WINDOWS system compared with pages of a computer book that uses theflipping method of FIG. 5A to move through the book;

[0090]FIGS. 18A-18M illustrate the various implementation processes of a“Books” interface according to the present invention;

[0091]FIGS. 19A-19C illustrate the one-sided flipping display for theBooks interface;

[0092]FIG. 20 illustrates a sequence of display screens representing atear-off operation for window-pages of the Books interface;

[0093]FIG. 21 illustrates the combined use of the Books and WINDOWSinterface;

[0094]FIG. 22 is a flowchart of a method for implementing the processesof the Books interface;

[0095]FIG. 23 is a flowchart of a method for displaying a set ofinformation on a display screen as controlled by a browsing device;

[0096]FIG. 24 is a flowchart of a method for browsing a set ofinformation on a display screen;

[0097]FIG. 25 is a flowchart of a user-interface method according to thelibrary metaphor aspect of the present invention; and

[0098]FIG. 26 is a flowchart of a Books interface method according tothe library metaphor aspect of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0099] Referring now to the drawings, wherein like reference numeralsdesignate identical or corresponding parts throughout the several views,and more particularly to FIG. 1A thereof which depicts the browsingdevice 100 according to the present invention that can be used inconjunction with existing computer systems for the purpose of browsingthrough documents or any information stored in the computer. Whilecertain embodiments of the browsing device (e.g., device 100) are shownherein, other data input devices, such as keyboards, keypads, a computermouse used with pull-down menus, etc., may be used as well to accomplishthe browsing functions, albeit in a less convenient format.Nevertheless, in reference to the browsing device 100, four commands areinput and detected by the browsing device 100. These commands includethe following: (a) specifying whether a movement in a forward directionor in a backward direction through the document is to be performed; (b)specifying a speed of the movement described in (a); (c) jumping to aspecified location in the document or information involved; and (d)specifying that certain portions of the document or the informationinvolved is to be bookmarked. Based on these commands, signals aregenerated and output to effect the necessary operations in a computersystem (e.g., computer 205 in FIG. 2A) attached to the browsing device100.

[0100]FIGS. 1B and 1C depict a top and bottom view of one embodiment ofthe primary browsing device 100 according to the present invention. Thebrowsing device 100 includes a slanted surface 120, extending from a topsurface 110 of the browsing device 100. The slanted surface 120 supportsa user's thumb 122 on which to rest, although the user may use anotherinstrument or finger as well. During operation, four other fingers141-144 are placed on a bottom surface 130 of the device (as shown inFIG. 1C), opposed to the thumb 122. On the slanted surface 120 a set offorce and position sensors disposed in a sensor area 121 (sensors suchas an appropriately customized version of Interlink ElectronicsThin-film Linear Potentiometer Part Number 360) detect (a) a force ofthe thumb 122 on the slanted surface 120 within the sensor area 121 and(b) the position of the thumb 122 (or one of the other fingers) in thesensor area 121 in the direction of the slant. Henceforth the directionof the slant is referred to as an x-direction, as shown in FIG. 1B,where the positive x-direction points away from the edge that adjoinsthe top surface 110 and the slanted surface 120. The position of thethumb 122 (or one of the other fingers) in the y-direction (a directionperpendicular to the x-direction on the slanted surface 120) gaugeswhether the thumb 122 remains on the sensor area 121.

[0101] As shown in FIG. 1C, four buttons/switches 131-134 are placed onthe bottom surface 130, within easy reach of the four fingers (141-144)during those operations when these fingers (141-144) are placed on thebottom surface 130. On the top surface 110 of the device 100, anotherfour buttons/switches (111-114) are placed, preferably parallel to theedge adjoining the top surface 110 and the slanted surface 120, as shownin FIG. 1B.

[0102] The force of the thumb 122 (or one of the other fingers) on thesensor area 121 dictates how fast to move through the document, and theposition of the thumb 122 (or one of the other fingers) along thex-direction dictates the point to which the document is jumped. Moreparticularly, the buttons (131-134, and 111-114) on the bottom and topsurfaces (130 and 110 respectively) are for the purposes of bookmarking.The use of these buttons (131-134, 111-114) depends on the particularconfiguration in which the browsing device 100 is used and will bedescribed below.

[0103]FIGS. 2A-2F depict alternative configurations to employ thebrowsing device 100 for producing the browsing input. The browsingdevice 100 depicted in FIGS. 1B and 1C is preferably used with anoperator's right hand. A left-hand version of the browsing device 101 asdepicted in FIGS. 2A and 2B is employed in some of the alternativeembodiments depicted in FIGS. 2A-2F.

[0104]FIGS. 2A and 2B depict top and bottom views of one embodiment ofthe mini-book configuration 200 in which a left-hand version 101 and aright-hand version 100 of the browsing device 100 are joinedback-to-back through latching mechanisms 151 and 152 as shown in FIG. 1Cand the resulting assembly 200 is electrically operatively connected tothe computer 205 (such as an IBM Aptiva A92, Part Number 42H0333). Inoperation, the left and the right hands operate the devices on the leftand right respectively, hence the left thumb 172 and right thumb 122rest on the left and right sensor areas (171 and 121) respectively. Theother four fingers of both hands are placed near the buttons (131-134,181-184) on the bottom surfaces 130 and 180 of both the left and rightdevices. In this configuration, the buttons (111-114, 161-164) on topsurfaces 110, 160 are available for auxiliary functions.

[0105] In this configuration, the direction of movement (i.e., forwardor backward) through the document (using flipping or other methods, allto be described in detail later) is effected through the force appliedby the right and left thumbs (122 and 172) on the sensor areas 121 and171 respectively. The right thumb 122 force activates a forward movementthrough the document and the left thumb 172 force activates a backwardmovement. The speed of movement is preferably proportional to the forceapplied, although other force/speed relationships may be employedsuccessfully. The right thumb 122 operating the right sensor area 121activates jumping to points in the document involved that lie betweenthe currently viewed material in the document and the end of thedocument and the left thumb 171 operating the left sensor area 172activates jumping to points in the document involved that lie betweenthe currently viewed material in the document and the beginning of thedocument. As shown in FIG. 2B, the right fingers other than the thumb122 operating the buttons 131-134 on the bottom surface 130 createbookmarks for points in the document involved that lie between thecurrently viewed material in the document and the end of the documentand the left fingers other than the thumb 172 operating thecorresponding buttons 181-184 on the corresponding bottom surface 180create bookmarks for points in the document involved that lie betweenthe currently viewed material in the document and the beginning of thedocument.

[0106] An x-direction is defined along the slanted surface for theleft-hand device 101 that is perpendicular to the edge adjoining the topsurface 160 and the slanted surface 170 of the left-hand device 101 andthe positive x-direction is taken to be the direction away from thatedge as illustrated in FIG. 2A. The operations to be described below forthe sensor areas 121 or 171 and for the buttons on the bottom surfaces131-134 or 181-184 are similar for both the right-hand device 100 andthe left-hand device 101 and unless necessary, only the operations forthe right-hand device 100 will be described.

[0107] The position of the thumb 122 in the x-direction on the sensorarea 121 (refer to FIG. 1B) as detected by the position sensors on theslanted surface 120 determines the page in the document to jump to (forthe cases in which the material in the document is organized into pagesto be flipped, slid or flashed on the computer screen, the details ofwhich will be described later) or the point in the document to jump to(for the case in which material in the document is not organized intopages like in the case of the use of scrolling to move through thedocument). Let x=0 (the origin) be the point at which the slantedsurface 120 meets the top surface 110. The thumb 122 will be referred toas being “at” position x1 when it covers the point x1 and somecontiguous points to the “right” of x1, i.e., some of the contiguouspoints x such that x>x1, and “right” refers to the conventional positiveaxial direction. This is because the intersection of the thumb 122 andthe slanted surface 120 (in the sensor area 121) on the browsing device100 has a small spatial extent and hence it will have some dimension inthe x-direction.

[0108]FIG. 3 shows the “book” 300 displayed on the computer screen,henceforth referred to as the computer book. When using the currentembodiment of the browsing device 100, in order to allow the user tohave an idea of the thickness of the computer book 300 on both sides, sothat the user can have a good idea of the approximate location of thecurrently viewed pages in the document involved, the thickness 310 ofthe computer book 300 on both sides is shown on the computer screen nextto the displayed pages 301 as shown in FIG. 3.

[0109] In the browsing of a real book, the thumb selects the page tojump to by sliding along the side until it reaches that page. In theprocess of accomplishing this, the thumb slides along the side of thebook in a direction perpendicular to the edge of the book the thumb istouching (similar to the x-direction in FIG. 1B) by an amountproportional to how far along in the document the page to be jump to isfrom the current page. Because in the browsing device 100 depicted inFIG. 1B, the width of the slanted surface felt by the thumb does notchange, even as the amount of material/number of pages present on that“side” of the “book” changes, the translation of the x-position of thethumb to a page in the document to jump to is slightly more complicated.

[0110] Consider initially no force is applied onto the sensor area 121by the thumb 122 and a certain page of the document involved is beingdisplayed. When the thumb 122 is placed at any position x=XT1 on thesensor area 121 and when a force is applied for a time longer than auser-specified pre-defined, short period, preferably, but not limitedto, a range of 100 milliseconds to 1 second, the document is movedthrough forward (or backward if the left sensor area 171 is activated bythe thumb 172). The speed of movement is proportional to the forceapplied. If the force is applied only momentarily, (e.g., less thanpreferred 100 millisecond) no movement through the document takes place,but a starting position for any subsequent jumping process is taken tobe XT1. When the thumb 122 is moved from x=XT1 to a position XT2(XT2>XT1) and the thumb 122 is pressed momentarily, a jump is made to apage in the document that is further along. Let XS be the width of thesensor area 121 and let PR be the number of pages remaining from thecurrent page to the end of the document (or to the beginning of thedocument, if the left device 101 is activated). PJ, the number of pagesto skip over is equal to PR*(XT2−XT1)/(XS−XT1). That is, at any giventime, the distance along the slanted surface from the current thumbposition XT1 to the edge, XS, is treated as being proportional to thenumber of pages remaining from that point to the end or beginning of thedocument. In the case of using the method of scrolling to display thedocument in which the material is not organized into pages, then PRbecomes the amount of material, say the number of lines of material,remaining and PJ becomes the amount of material to be skipped over.

[0111] After the thumb 122 moves from the starting position XT1 in thepositive x-direction, before it applies any force to effect a jump, itis at liberty to move between XT1 and XS in the positive or negativex-directions to search for a page it wishes to jump to. If in thisprocess the thumb 122 moves in the negative x-direction beyond thestarting position XT1, whatever new position the thumb 122 finds itselfin and after having applied a momentary force in that position, thatposition will become a new starting position XT1 for the computation ofany subsequent jump. If the thumb 122 did not apply any momentary forceafter having moved in the negative x-direction beyond the startingposition XT1, and then it moves back past XT1 in the positivex-direction, the starting position for any subsequent jump will be XT1.

[0112] When one continues to apply force for longer than theuser-defined pre-defined, short time period on the sensor area 121 usingthe thumb 122 after a jump is made while holding the thumb 122 at thesame position, the movement through the document begins from thatpage/point onwards, and the speed of movement is proportional to theforce applied as before.

[0113] The starting position of the thumb 122 for the jumping processcan be at x=0 or any position XT1 in the x-direction. But starting atx=0 allows the use of a larger width (from x=0 to XS) to correspond tothe remaining material and thus a better resolution of control in termsof jumping/skipping. At any given time, no matter how much remainingmaterial there is, while one is moving through the document by havingthe thumb 122 at a given position, one can always move the thumb 122back to a position of smaller x (that does NOT trigger a movementthrough the document in the opposite direction—one has to use the otherdevice operated by the other hand to change direction) or x=0, and applysome force momentarily to signify that the user has now repositioned thethumb 122. The user may then continue the process of moving through thedocument by applying the force longer than a pre-defined, short moment,or use this current position as a new reference/starting point (XT1) andslide the thumb 122 to a new position (XT2) to skip through somematerial. The movement of the thumb 122 back to a smaller x or x=0 todefine a starting position XT1 before the jumping process gives the usera better resolution for the jumping/skipping control.

[0114] The mechanisms for jumping to some other parts of the documentand movement through the document under the control of the thumb 122 asdescribed above are described in the flowchart in FIG. 4.

[0115] Consider initially a certain page of the document is beingdisplayed. In step 401, the thumb 122 is placed at position XT on thesensor area 121. The process flows to step 402, where a check is made todetermine if a force has been applied momentarily or longer (than apredefined, short time). If not, nothing happens; the thumb 122 may moveto a new position XT (step 403) or stay in the same position XT. If anaffirmative response is received in step 402, a check is made to see ifthe thumb has applied the force longer than momentarily. If so, theprocess flows to step 405 where movement through the document isinitiated (with a speed proportional to the force applied and adirection depending on whether the left-hand device 101 or theright-hand device 100 in the mini-book configuration 200 is activated).If a negative response is received in step 404, the process flows tostep 406. Similarly, after initiation of movement through the documentin step 405, the process also flows to step 406. In step 406, thestarting position XT1 is assigned the value of the current thumb 122position XT. The process then flows to step 407 where the thumb 122either stays in the current position or moves to a new position XT(< >XT1). The process then flows to step 408, where a check is made tofind out whether XT is greater than XT1. If so, a check is made in step409 to find out whether a force is applied at XT; if not, nothinghappens and the thumb may move to a new position XT (< >XT1) in step407. If the response to step 409 is affirmative, the process flows tostep 410, where XT2 is assigned the value of the current XT. The processthen flows to step 411 where a value PJ=PR*(XT2−XT1)/(XS−XT1) iscomputed. (PR is the number of pages or amount of material remainingfrom the current page to the end of the document if the right-handdevice 100 in the mini-book configuration 200 is now being activated orfrom the current page to the beginning of the document if the left-handdevice 110 in the mini-book configuration 200 is being activated. XS isthe width of the sensor area 121.) A jump is effected that skips over PJpages or PJ amount of material in the document. The process then flowsback to step 401 where the process repeats.

[0116] If in step 408, XT is found to be smaller than XT1, then theprocess flows to step 412 which checks if a force has been applied at XTmomentarily or longer. If not, nothing happens, the process flows tostep 407 where the thumb can move to a new position XT. If so, step 413checks to see if the force applied is longer than a pre-defined, shortperiod. If the force applied is longer than a pre-defined, short period,the process flows to step 414 where movement through the document isinitiated (with a speed proportional to the force applied and adirection depending on whether the left-hand device 101 or theright-hand device 100 in the mini-book configuration 200 is activated).If a negative response is received in step 413, the process flows tostep 406 where the starting position XT1 is assigned the current valueof XT. After the initiation of movement through the document in step414, the process also flows to step 406.

[0117] The above described method of jumping/skipping through the pagesthrough the use of the sliding of the thumb 122 over a certain distance(in the x-direction) is referred to as the relative distance methodwhereas the jumping/skipping in the process of browsing through aphysical book uses absolute distance (in the direction perpendicular tothe edge of the book). Another embodiment of the browsing device 1600that uses absolute distance will be described later in reference to FIG.16.

[0118] To provide the user with feedback of his/her thumb movement onthe sensor area 121 along the x-direction (FIG. 1B) before he/sheeffects the jump to a different part of the document involved, anindication 380 of the position of the thumb 122 is provided on thethickness 310 area of the book 300 displayed on the screen next to thepages 301 currently being viewed (FIG. 3). This indication 380 isreferred to as the jump cursor. Recall that the thumb 122 starts fromone point on the sensor area 121 and slides on the sensor area 121 inthe x-direction before a force is applied to effect the jump. In thisprocess, the thumb 122 slides over many points on the x-position sensor121 on the slanted surface 120. An indication is made on the computerscreen of the location of the page that would be jumped to had the thumb122 applied a force at any given point along the x-direction. As thethumb 122 slides on the sensor area 121 before the application of theforce, the whole width of the thickness 310 displayed on the screen nextto the currently viewed pages 301 is preferably divided into two parts.One part corresponds to all the pages that will be skipped if a forcewere applied at that point in the x-direction on the sensor area 121.The other part corresponds to the pages that remain from the page jumpedto if a force were applied to the end of the document (if one is movingforward through the document and the right hand device 100 in themini-book configuration 200 is being activated) or to the beginning ofthe document (if one is moving backward through the document and theleft-hand device 101 in the mini-book configuration 200 is beingactivated). There are two ways to display the boundary 380 (a thin line)between these two parts that corresponds to the point or page in thedocument jumped to if a jump were to take place. Preferably within thethickness area 310 on the computer screen is shown by the boundary, athin line, as being different in darkness, texture, or color (preferablydarkness) from the rest of the thickness 310—hence one would see a lineoriented perpendicular to the x-direction (parallel to the y-direction,FIG. 1B) and whose length is confined to the thickness 310 region movingin the positive or negative x-direction depending on the direction ofmovement of the thumb 122 on the sensor area 121. Alternatively, onepart, say the left part, is shown as being different in darkness,texture or color (preferably darkness) from the other part, say theright part—hence one would see one part expanding and the othercontracting, or vice versa, depending on the direction of movement ofthe thumb 122 on the sensor area 121.

[0119] The use of the four buttons 131 to 134 on the bottom surface 130of the browsing device 100 will be described for bookmarking. Duringoperation, each of the other four fingers 141 to 144 except the thumb122 is placed near each of the four buttons 131 to 134 and each of thesebuttons is meant to be operated by the finger nearest to it. At anymoment when one is viewing a page of the document and decides that itmight be of interest to return to later, one presses one of the buttons131 to 134 momentarily and then lets go, either once or twice, dependingon whether one wishes to create a finger-bookmark or apermanent-bookmark respectively as will be described below. The pagewill then be bookmarked and a bookmark 320 is displayed on the screen asshown in FIG. 3—sticking out from the position of the page/point that itmarks on the side of the book 300. One can use the same button (one ofthe buttons 131 to 134) to bookmark more than one point/page. All thebookmarks 320 that are created by the same button (i.e., one of buttons131 to 134) are clustered together (e.g., one of clusters 361 to 364)and displayed as such as shown in FIG. 3.

[0120] After one has bookmarked a certain page/point on a certain side(right, 371, or left, 372, FIG. 3) of the book, if one moves through thedocument past that page/point (forward or backward respectively), thebookmark will either disappear or be transferred to the other side,depending on whether the bookmark is a finger-bookmark or apermanent-bookmark respectively. The finger-bookmarks are more like thebookmarks created by the use of the fingers when browsing through aphysical book—they are more temporary and they “disappear” after thebookmarked page/point has been passed. In the case of a page/pointmarked by a permanent-bookmark, when the page/point is passed thebookmark will be transferred to the other side and be grouped in thecluster that corresponds to the same cluster in the other side fromwhich it originates. (The preferred method by which this transfer is tobe effected and shown on the computer screen depends on the method ofmovement through the document which will be described later togetherwith the description of those methods). To remove a permanent-bookmark,one presses the corresponding button twice in quick succession (e.g.,“double click”) when the bookmarked page/point is currently in view.(The permanent bookmarks are more like the bookmarks created byinserting, say, a slip of paper when one is browsing through a physicalbook.) The finger-bookmarks and the permanent-bookmarks are displayeddifferently on the computer screen. (They are differentiated either byshape, size, color, marking, or lettering.)

[0121] For the finger-bookmark, if one wishes that the bookmark not beremoved after one has moved through the document past the correspondingpage/point, one can transfer it to the other side by creating anotherbookmark using the fingers on the other hand, much like what one doeswhen browsing through a physical book. The permanent-bookmarking processtends to create many bookmarks and they should be used only ifnecessary.

[0122] To return to a bookmarked page/point (whether it befinger-bookmarked or permanent-bookmarked), one presses the button (oneof 131-134 or one of 181-184) that corresponds to the cluster to whichthe page/point belongs and uses the corresponding thumb 122 or 172 toapply force to the corresponding sensor area 121 or 171 while continuingto press the button. If there is more than one bookmarked page in eachcluster, the page that is nearest the current page will be jumped to.(Note that this can obliterate some finger-bookmarks in the otherclusters if in this process the document is moved through past thosecorresponding pages.) After having jumped to a bookmarked page, if onewishes to take some time to read that page, one has to stop applyingforce using the thumb 122 or 172 on the corresponding sensor area 121 or171 or else the process of moving through the document will begin. Oneshould also stop pressing the corresponding button (one of 131-134 orone of 181-184). (This is to relieve the finger of unnecessary tension).If this page was a finger-bookmarked page and one wishes to bookmarkthis page again, one has to press the button (one of 131-134 or one of181-184) again (once or twice depending on whether now one wishes tofinger-bookmark or permanent-bookmark it respectively).

[0123] To avoid confusion and speed up the browsing process, even thoughthe facility of using one button to bookmark more than one page isprovided, hence creating the cluster of bookmarks associated with thatbutton, it is to be avoided if possible. Hence, one should try to use asmany of the buttons (131-134 and 181-184) provided as possible. That is,if there are four pages to be bookmarked on one side, one should use allfour buttons (131-134 or 181-184, depending on whether it is the rightside 371 or left side 372 respectively that is involved), creating onlyone bookmark in each cluster. This way, a speedier jump to a desiredbookmarked page is possible because one does not have to jump throughthose unwanted pages bookmarked in the same cluster before one arrivesat the intended page.

[0124] At any given time, only one of the hands is supposed to performoperations (i.e., only one of the two browsing devices 100 and 101 issupposed to be activated). If both hands try to perform operations atexactly the same time, there will be no operation performed. If one handperforms an operation before the other hand, then that hand takespriority. One exception to this is when the device is used inconjunction with a flipping method 500 or 540 of moving through thedocument involved to be described in detail later (with reference toFIG. 5A and FIG. 5E), whereby the operation of both hands is used tocreate a “fan display” 600 or 610 (with reference to FIG. 6A and FIG.6B).

[0125]FIG. 2C depicts one embodiment of the screen configuration 210. Inthis configuration 210, the operations are identical to that describedabove for the mini-book configuration 200 depicted in FIG. 2A, exceptnow, in this configuration 210, the two browsing devices 100 and 101 areseparated and attached to the sides of a screen 216 (such as an IBMColor Monitor G50, Part Number 96G1593). This is achieved by firstattaching these devices to a frame 215, and then attaching the frame 215to the screen 216. This is done because the browsing devices 100 and 101need to be firmly attached and we would like to use existing computerscreens 216 and hardware with no necessity of any physical modificationsto them.

[0126]FIG. 2D depicts one embodiment of the mouse configuration 220. Inthis configuration 220, two browsing devices 100 and 101 are joinedtogether in the same manner as in FIG. 2A and also mounted onto a mouse225 (e.g., a mouse adapted from the IBM Enhanced Mouse II, Part Number13H6714). This allows the use of one hand for operating the browsingdevices 100 and 101 as well as the mouse 225. The operation of thebrowsing devices 100 and 101 is largely the same as that described forthe mini-book configuration 200 except for the following observations.The mouse-browser configuration 220 is preferably placed on a flatsurface like the top of a table, but not typically held in the hands.The four buttons 131-134 on the bottom surface 130 (FIG. 2A) of theright-hand device 100 are now not primarily used, but instead the fourbuttons 111-114 on the top surface 110 replace the functions of the fourbottom buttons 131-134. Similarly, for the left-hand device 101, thefour buttons 161-164 on the top surface 160 replace the functions of thefour buttons 181-184 on the bottom surface 180 (FIG. 2A). The eight topbuttons 111-114 and 161-164 are now operated only by the index fingerwhich also operates the mouse buttons 226 and 227. For the operation ofthe left sensor area 171, the thumb of the same hand is preferably used.For the operation of the right sensor area 121, one of the other threefingers, normally the middle finger, is used. (For a left-handed,“southpaw”, this is reversed).

[0127]FIG. 2E depicts one embodiment of the gyro-mouse configuration 230(which includes an adapted gyro-mouse such as a GyroPoint® Desk fromGyration, Inc. of Saratoga, Calif., Part Number PA00038-001). Currently,there is a type of mouse called the gyro-mouse that can be held in thehand and used away from the table top. This gyro-mouse 235 can beattached to the mini-book configuration 200 of FIG. 2A which consists ofa right-hand browsing device 100 and a left-hand browsing device 101,and the whole assembly—the gyro-mouse configuration 230—can be used inthe hand away from the table top. Because in the mini-book configuration200, both hands are used and the bottom buttons 131-134 and 181-184 areoperated by all the fingers except the thumbs, the gyro-mouse 230 mustbe attached to the mini-book configuration 200 in such a way that theindex fingers can also be used to operate the gyro-mouse buttons 236 and237, as shown in FIG. 2E. The gyro-mouse buttons 236 and 237 must benear enough to the buttons 131 and 181 operated by the index fingers sothat the index fingers can reach them (buttons 236 and 237) easily.While preferably a specially made gyro-mouse 235 will be constructed tojoin with the mini-book configuration 200 as shown in FIG. 2E, themini-book 200, screen 210, and mouse 220 configurations of the browsingdevices 100 and 101 preferably add modularly to existing computerhardware.

[0128]FIG. 2F depicts the one-hand configuration 240 of the browsingdevice. In this configuration, only one browsing device 100 is used,freeing one hand to do something else. During operation, the device 100is held in one hand in much the same way as that in the mini-bookconfiguration 200—the thumb is placed on the sensor area 121 while theother fingers operate the buttons 131-134 on the bottom surface 130. Theoperation is largely the same as that for the mini-book configuration200 except now the browsing device 100 functions as the left device 101as well as the right device 100 in the mini-book configuration 200. Atriple click of the button 131 (refer to FIG. 1B—the button nearest theindex finger) toggles between these two states. This configuration 240may not handle as well as the mini-book configuration 200 but it freesone hand for other operations. (Instead of triple-clicking an existingbutton such as button 131, an alternative is to add another button tothe existing buttons and allow a single click of that button to effectthe same operation.)

[0129]FIG. 2G depicts the one-hand-gyro-mouse configuration 250 of thebrowsing device. In this configuration, a gyro-mouse 255 is attached toone browsing device 100. The operation is largely the same as in theone-hand configuration 240 in FIG. 2F except now the one index fingeralso operates the mouse buttons 256 and 257. Again, like in the case ofthe gyro-mouse configuration 230 depicted in FIG. 2E, in thisconfiguration the buttons 256 and 257 of the gyro-mouse 255 must bepositioned near the button 131 on the bottom surface 130 of the browsingdevice 100 that is nearest the index finger during normal operations ofthe device 100 so that the index finger can operate all three buttons256, 257 and 131 easily. If no such gyro-mouse 255 exists, then aspecially made one has to be used.

[0130]FIGS. 2H and 2I depict side and bottom views of a browsing device260 that is another embodiment of the mini-book configuration 200 thatprovides good ergonomy for the human hands and fingers and that alsoincorporates mouse buttons 263, 264, 265, and 266 so that the device 260can also function as a usual computer mouse. The sensor areas 261 and262 incorporates X-Y position sensors so that in the mouse mode they canaccept X-Y coordinates input through a finger to control the usual mousecursor on the computer screen. For browsing-related operations, theoperations of sensor areas 261 and 262 are similar to the operations ofsensor areas 121 and 171 respectively on the browsing device 200 and thebuttons 271-278 function like the buttons 131-134, 181-184 respectively.The buttons 281-288 function like the buttons 161-164, 111-114respectively. One mode of operation of the browsing device 260 is thatit is held by both hands, with the left thumb placed on the sensor area262 and the right thumb on the sensor area 261. All the other fingerscurl around the side of the browsing device 260 to reach the bottom tooperate the buttons 271-278 for browsing-related operations such asbookmarking and the buttons 263 and 264 for the usual two-button mouseoperations in, say, MICROSOFT's WINDOWS operating system. In anothermode of operation, the browsing device 260 is placed on a flat surfacesuch as the table-top with the sensor areas 261 and 262 facing up, andonly one hand is used to operate the device. In this mode, if the righthand is used, the thumb and the middle finger, say, would operate thesensor areas 261 and 262 respectively while the index fingers wouldoperate the buttons 281-288 for browsing-related operations such asbookmarking and operate the buttons 265 and 266 for the usual two-buttonmouse operations.

[0131] The browsing device 100 employed in the configurations 200, 210,220, 230, 240, and 250, among others, and the browsing device 260 can beused in conjunction with a number of different methods for displayingthe movement through the document involved on the computer screen in acomputer book. Among others, there are five methods which will bedescribed here.

[0132]FIG. 5A depicts one preferred embodiment of the flipping method500. In this method, the material in the document is organized intopages and as one moves through the document, the pages are shown to flipacross from right to left or vice versa, depending on the direction ofmovement, much like what happens when one flips through a physical book.In this method, when a permanent-bookmark is being transferred from oneside to the other, it will be shown to be attached to the page, stickingout from the page, and flipped together with the page. Also, to beconsonant with the flipping of successive pages, in the process ofjumping to a different page in the document, the pages skipped are shownto flip across together as a thick page (the thickness beingproportional to the number of pages involved) like in the case of aphysical book. The display of the thicknesses of the material in thedocument on both sides of the displayed pages, the use and display ofbookmarks (finger-bookmarks or permanent-bookmarks), the operations ofbookmarking, and the display of the location, on the thicknesses, of thepage/point in the document that would be jumped to were jumping to beeffected at any given moment based on, say, the thumb's x-position onthe sensor area 121 at that moment are like what is described above forthe computer book 300 in FIG. 3.

[0133] One method of generating flipping pages from a document stored insemiconductor, magnetic, optical, or other media on a personal (e.g.laptop) computer in the form of a text file, such as a text file in theWINDOWS 95 operating system involves several steps, as discussed below.First, the contents of the text file is displayed on the computer screen(such as an IBM Color Monitor G50, part Number 96G1593) using, say aword processing software such as MICROSOFT WORD Version 7.0 fromMICROSOFT Corporation, running on the computer. The image on thecomputer screen which is stored in the screen dump can then be put intothe clipboard using the “Print Screen” key on the keyboard (such as anIBM Keyboard, Part Number 06H9742). The clipboard can be imported as animage file into a graphics software such as VISONEER PAPERPORT fromVisioneer Communications, Inc. of Palo Alto, Calif., Part NumberC1132-90000 running on the computer using the “Paste” command providedby the software, and then exported and stored as an image file in, say,the TIFF format. Each page in the document can be captured in this wayin one TIFF file. Then, using a video editing/movie making software suchas Adobe PREMIER 4.0 from Adobe Systems Incorporated of Mountain View,Calif., part Number 02970103 running on the computer, the TIFF files,each containing one page of the document, can be imported into thesoftware and using the “Motion” command and superimposition facilitiesprovided by the software a “movie” of flipping pages can be generatedand if necessary, exported and stored in a motion picture format such asa .AVI file.

[0134] For the purpose of the present invention, the variouscomponents/operations described above for generating flipping pages froman existing document file are preferably integrated into a singlesoftware process that may be conveniently ported from one computer tothe next in a computer readable medium, such as an optical disc (e.g.,CD ROM, or digital versatile disc, DVD), magnetic media (e.g., floppydiskette), or semiconductor memory (ROM, PROM, application specificintegrated circuit, ASIC, or Field Programmable Gate Array, FPGA). Analternative method reads from the existing document file directly,generates the necessary images for all the pages, and then creates a“motion picture” of flipping pages from these images. To move throughthe document forward or backward at any selected speed, mechanismssimilar to forwarding or reversing at any selected speed when viewing amotion picture file (such as one in the .AVI format) using a softwarevideo player (such as Video for WINDOWS from MICROSOFT Corporation) areused. The other features such as the thicknesses 310 (FIG. 3), thebookmarks 320 (FIG. 3) and the operations of bookmarking etc. are alsoincorporated.

[0135]FIG. 6A depicts one embodiment of a open fan display 600 and FIG.6B depicts one embodiment of a collapsed fan display 610 that can becreated in conjunction with the flipping method 500. In the process ofeffecting the flipping of the pages using one thumb (say, the rightthumb 122, which operates the sensor area 121 in the configuration 200),one can stop the pages from being completely flipped to the other sideby the use of the other thumb (say, the left thumb 172) by applying aforce on its associated sensor area (171 in the configuration 200, say)after the page has begun flipping. This force will be referred to as theopposing force. The force applied by the other thumb (in this case, theright thumb 122) will be referred to as the flipping force.

[0136] There are two kinds of fan display that can be created—the openfan display 600 or the collapsed fan display 610—depending on themagnitude of the opposing force. If the opposing force is of a magnituderoughly the same as or smaller than the flipping force, the pages 603that have been flipped since the beginning of the process (i.e., sincethe opposing force has been applied) form equal angles betweenthemselves as well as the two “flat” pages 601 and 602 on the left andright sides of the book as depicted in FIG. 6A. This creates the openfan display 600. If the opposing force is greater than the other force,a collapsed fan display 610 is created as shown in FIG. 6B. In thisdisplay 610, all the pages 605 that have been flipped since thebeginning of the process (i.e., since the opposing force has beenapplied) are collected in a thick page 604 that forms an equal anglewith the two “flat” pages 606 and 607 on the left and right sides of thebook as depicted in FIG. 6B.

[0137] The open fan display 600 or the collapsed fan display 610 canalso be created in conjunction with the process of jumping to anotherpage. Earlier it was described that in order to be consonant with theflipping of successive pages, in the process of jumping to a differentpage in the document, the pages skipped are shown to flip acrosstogether as a thick page (the thickness being proportional to the numberof pages involved) like in the case of a physical book. This thick,flipping page will be treated like any of those flipping pages 603 inthe process of creating the open fan display 600 or the flipping pages605 in the process of creating the collapsed fan display 610. Henceafter a jumping process has been initiated and after the skipped pageshave begun flipping across together as a thick page, if one were to nowapply an opposing force, the process of creating a open fan display 600or a collapsed fan display 610 will begin as described above.

[0138] If the thumb that initiated the flipping now stops applyingforce—i.e., the flipping force—to the sensor area (121 or 171 in theconfiguration 200, say), the pages will freeze in the open fan display600 or the collapsed fan display 610, depending on which type of displayis being created. For the collapsed fan display 610, at the moment whenthe flipping force stops, there could be one page 605 that is still inthe process of being flipped as depicted in FIG. 6B. This page willimmediately collapse onto the center, thick page 604 that has collectedin it all those pages flipped earlier.

[0139] The open fan display 600 facilitates the viewing of many pagessimultaneously, even though only the rough contents of each page can beproperly viewed. The collapsed fan display 610 facilitates the viewingand comparison of the two flat pages 606 and 607 that are currently inview since all the flipped pages 605 have been collected in the center,thick page 604 that does not block the view of the two flat pages 606and 607.

[0140] If now the thumb that applied the opposing force—the thumb thatprevented the complete flipping of the pages—removes its force, and thenthat is followed by the normal initiation of the flipping action byeither thumb, the fanned out pages 603 (in the case of the open fandisplay 600) or the center thick page 604 (in the case of the collapsedfan display 610) will collapse and flip over to the appropriate side andnormal flipping begins.

[0141]FIG. 5B depicts one embodiment of the sliding method 510. In thismethod 510, the material in the document is organized into pages and thepages are shown to slide across the screen, much like what happens whenone views a microfilm. However, unlike the case of the conventionalmicrofilm viewer, more than one page can be displayed here, depending onthe choice of the user. In this method 510, when moving through thedocument, the pages are seen to move horizontally within a fixedframe—as a page slides leftward, as it appears on the right side of theframe, its left side appears first and as it reaches the left side ofthe frame, the left side of the page would disappear first and viceversa for rightward movement. FIG. 5B shows two pages being displayed atthe same time but in this method 510 any number of pages can bedisplayed at the same time, depending on the user's preference and theselection made.

[0142] In the sliding method 510, when a permanent-bookmark is beingtransferred from one side to the other, it will be shown to disappearfrom the side from which it originates and appear on the other side whenthe page involved reaches the other side. To be consonant with thesliding of successive pages, in the process of jumping to some otherparts of the document, the page(s) jumped to is shown to slide into viewmuch like what happens when one operates a physical microfilm. Thedisplay of the thicknesses of the material in the document on both sidesof the displayed pages, the use and display of bookmarks(finger-bookmarks or permanent-bookmarks), the operations ofbookmarking, and the display of the location, on the thicknesses, of thepage/point in the document that would be jumped to were jumping to beeffected at any given moment based on, say, the thumb's x-position onthe sensor area 121 at that moment are like what is described above forthe computer book 300 in FIG. 3.

[0143] To generate sliding pages, a method similar to that described forthe flipping pages for FIG. 5A can be used.

[0144]FIG. 5C depicts the flashing method 520, where the material in thedocument is organized into pages and one or more than one page at a time(as specified by the user) is flashed onto the screen as one movesthrough the document—that is, the current page(s) disappears and thenext page(s) before or after the current page(s) appears. FIG. 5Cdepicts, in particular, the case in which two pages are displayed at atime. When more than one page is displayed on the screen and flashing iseffected, it can be effected in two modes—the exclusive mode or theoverlapping mode. Consider the case of displaying two pages at one timeon the screen as shown in FIG. 5C. In the exclusive mode, the next twopages that appear are the two pages that follow the righthand page ofthe previously displayed pages. In the overlapping mode, the next twopages that appear are the righthand page from the previously displayedpages and the page that follows that page. Similarly, when more than twopages are displayed at any given time, the exclusive mode dictates thatthe next pages displayed will not be the same as the currently displayedpages and the overlapping mode dictates that the next pages displayedcan have some but not all of the pages that are the same as thecurrently displayed pages. Hence the overlap refers to the same pagesthat are displayed in the current display as well as the very nextdisplay of the pages. For more than two pages, the user can specify theamount of overlap for the overlapping mode.

[0145] In the flashing method 520, when a permanent bookmark is beingtransferred from one side to the other, it will be shown to disappearfrom the side from which it originates and appear on the other side whenthe page involved reaches the other side. The display of the thicknessesof the material in the document on both sides of the displayed pages,the use and display of bookmarks (finger bookmarks or permanentbookmarks), the operations of bookmarking, and the display of thelocation, on the thicknesses, of the page/point in the document thatwould be jumped to were jumping to be effected at any given moment basedon, say, the thumb's x-position on the sensor area 121 at that momentare like what is described above for the computer book 300 in FIG. 3.

[0146] To generate sliding pages, a method similar to that described forthe flipping pages for FIG. 5A can be used.

[0147]FIG. 5D depicts the scrolling method 530. Even though scrollingusually results in a blur, this method can still benefit from the easeof control using the browsing device 100. In this method 530, thematerial in the document is not organized into distinct pages. Instead,lines of text or portions of graphics disappear from the top of thedisplay and appear at the bottom of the display or vice versa as thedocument is moved through forward or backward respectively. Thethicknesses 531 of material present before or after the currently viewedmaterial are shown on the top and bottom of the display as shown in FIG.5D. The bookmarks 532 (finger-bookmarks or permanent bookmarks) canlikewise be displayed on these thicknesses 531. The operations ofbookmarking and the display of the location, on the thicknesses 531, ofthe page/point in the document that would be jumped to were jumping tobe effected at any given moment based on the thumb's x-position on thesensor area 121 at that moment are like what is described above for thecomputer book 300 in FIG. 3.

[0148] To generate scrolling pages, a method similar to what is used inMICROSOFT WORD Version 7.0, Part Number 62306 can be used, withappropriate enhancements for the display of the thicknesses 310 (FIG.3), the bookmarks 320 (FIG. 3) and the operations of bookmarking, etc.

[0149] If the mini-book configuration 200, say, is used in conjunctionwith the scrolling method 530 of moving through the document, the usercan rotate the mini-book configuration 200 held in his/her hand which isnormally used “horizontally”—with the left-hand device 101 held to theleft and the right-hand device 100 held to the right (FIG. 2A)—by, say,90 degrees clockwise, so that the left-handed device 101 is now on thetop and the right-handed device 100 is now on the bottom (to achievethis, the left and right wrists will have to bend a fair bit). Thecontrols will now be more natural because they correspond better to whatis seen on the screen—i.e., the left-hand/top device 101 and theright-hand/bottom device 100 will now operate the bookmarks on the topand bottom respectively of the material shown on the screen in thescrolling method 530.

[0150] In the scrolling method 530, depending on the user's preference,a scroll bar 533 and a marker 534 on it, similar to what is normallyused in a word processor, can be added to one side, say the right side,of the displayed material, as shown in FIG. 5D, to indicate the positionof the currently viewed material in the document involved, but themarker 534 here is not used in conjunction with the browsing device 100for effecting the scrolling of the document. (In current wordprocessors, normally the marker 534 is used in conjunction with themouse for effecting the scrolling of the document.) Alternatively,bookmarks 535 are added to the scroll bar 533 to indicate the pagesbookmarked. However, the display of the bookmarks 532 on the top andbottom of the currently viewed material is still necessary because theirpositions along the top and bottom edges give an indication of thefingers and buttons on the browsing devices 100 and/or 101 (depending onwhether one or two devices are being used) that are to be used to jumpto the pages that they mark. In this method 530, when a bookmark isinserted, it is associated with the material that is currently in view.For permanent-bookmarks, they disappear from one side (top or bottom) ofthe display and appear on the other side (bottom or top respectively)when the associated material has gone completely out of view.

[0151] In the flashing method 520 and scrolling method 530, in theprocess of jumping to some other parts of the document, the page(s) orparts of the document jumped to are flashed onto the screen, much likewhat happens when one uses the scroll bar in conjunction with the mouseto jump to some other parts of the document in a typical word processor.

[0152]FIG. 5E depicts the vertical flipping method 540 of the browsingdevice. This method is similar to the flipping method 500 depicted inFIG. 5A, and except for the flipping action that is effected verticallyinstead of horizontally, all other operations are the same as thatdescribed for the flipping method 500, including the verticalequivalents of the open and collapsed fan displays depicted in FIGS. 6Aand 6B. Similar to the case described above for the scrolling method530, if the mini-book configuration 200, say, is used in conjunctionwith the vertical flipping method 540 of moving through the document,the user can rotate the mini-book configuration 200 held in his/her handwhich is normally used “horizontally”—with the left-hand device 101 heldto the left and the right-hand device 100 held to the right (FIG.2A)—by, say, 90 degrees clockwise, so that the left-handed device 101 isnow on the top and the right-handed device 100 is now on the bottom (toachieve this, the left and right wrists will have to bend a fair bit).The controls will now be more natural because they correspond better towhat is seen on the screen—i.e., the left-hand/top device 101 and theright-hand/bottom device 100 will now operate the bookmarks on the topand bottom respectively of the material shown on the screen in thevertical flipping method 540.

[0153] The simultaneous multiple indexing facility is now described. Inthe process of viewing a document, if there is a keyword or phrase thatis of interest to the user, one can select it using one of the usualmethods—the mouse cum cursor method, the finger cum pressure-sensingcomputer display screen method, etc.—and then all those pages thatcontain the explanations or related topics of the selected item willbecome permanently-bookmarked—i.e., all the corresponding bookmarks 320will appear on the displayed computer book 300 like that described above(FIG. 3). On the bookmarks 320, markings, letters or otherwise, willappear to indicate the kind of information these pages contain about theselected item (e.g., basic definition, detailed elaboration, relatedconcepts, etc.). The name of the selected item will also appear on thecorresponding bookmark 320 (in case more than one item has beenselected). The user can then quickly jump to these pages. This facilityallows the user to bypass the need of having to move through thedocument first to an index (usually at the end of the document) tolocate the various references to the item of interest and then jump tothose corresponding pages. Many returns to the index would also have tobe carried out if there is more than one reference to the item involved.

[0154]FIG. 7 depicts an embodiment of a complete browsing system 700. Inthis system 700, a conversion software 710 (a computer program coded ina “C++ programming language”) is provided to pre-convert the document701 to be viewed that is stored in the computer in whatever existingform (e.g., such as in the form of a text file, stored on the hard diskin the WINDOWS 95 operating environment) to a form 711 that allows oneof the five methods (500, 510, 520, 530 and 540) of moving through thedocument as described above or other methods to be implemented and to beused in conjunction with the browsing device 740 (in one of theconfigurations 200, 210, 220, 230, 240, and 250 described above or otherconfigurations). The document 701 in its existing form on the computercan also be converted on the fly during the browsing process. Duringoperation, a browsing/viewing software 720 is also needed to convert thesignals from the browsing device to effect all the operations on thedocument as described above. The browsing/viewing software 720 (acomputer program preferably coded in a “C++ programming language”) takesas its data input either the pre-converted data file 711 or the documentin its existing form 701 (to be converted on the fly during the browsingprocess). The browsing device 740 sends the necessary signals through abus 741 (such as a 25 pin parallel port ribbon cable, although a serialbus, mouse line, Universal Serial Bus, USB, and IEEE 1394 FireWire, areexample alternatives) and to a computer input port 730 (preferably a 25pin parallel port, or alternatively a mouse port, a RS-232 port, USBport, or FireWire port) to the browsing/viewing software 720 to effectthe necessary operations on the screen 721 of the computer.

[0155]FIG. 8 depicts one embodiment of the browsing device's 100electrical block diagram 800. The sensor area 121 on the browsing device100 (e.g., FIG. 1B) is made up of a force and position sensor that isused to sense the force and position of the thumb 122 (or one of theother fingers) on that area, and signals representing these twoparameters are made available through a Force and Position SignalsGenerator Circuit 801 (preferably the separated Force and PositionAnalog LP Interface circuit described in the Interlink Electronics, Inc.document “FSR® Integration Guide and Evaluation Part Catalog withSuggested Electrical Interfaces”). Respective Force and Position signalsare presented to the computer through one of the input ports 730 (FIG.7), to the software 720 responsible to effect the necessary operationson the screen of the computer. The signals from the buttons 111-114,131-134 (of which are preferably on/off push-button toggle switches) onthe top surface 110 and bottom surface 130 respectively of the browsingdevice 100 (FIG. 1B) are also transmitted to the computer via the bus741. A common voltage line is available to send a corresponding commonvoltage through individual ones of the buttons 111-114 and 131-134 whenthe respective buttons are closed.

[0156]FIG. 9A depicts one embodiment of the browsing device's 200 orbrowsing device's 260 electrical schematic. A 87C752 micro-controller900, having memory contained therein, although accessible externalmemory is an alternative, incorporated with a 5 channelanalog-to-digital converter (ADC), accepts various inputs, e.g. from thesensors, and produces output signals to be sent to the computer. Theforce and position sensor area 121 or 171 on the browsing device 200 orarea 261 or 262 on the browsing device 260 is made up of a positionsensor (available from Kanto Bussan Co. Ltd of Japan part designationKBH) stacked on top of a force sensor (available from InterlinkElectronics of U.S.A. force sensor part number 406). The force signalsFL and FR from the force sensors are amplified and buffered by the LM324operational amplifiers 910 and 920 respectively, appropriately biasedwith resistors 560 and 470, for the purpose of isolation and voltagelevel adjustment, to pins ADC0 and ADC2 respectively on themicro-controller 900. The position signals ADC1 and ADC3 from theposition sensors are sent directly to pins ADC1 and ADC3 respectively onthe micro-controller 900. ADC0—3 are the input of analog-to-digitalconverters which convert the analog signals into digital signals forfurther processing by the micro-controller 900. The signals from the 10buttons, BT0-BT9 are sent to the data input pins BT0-BT9 on themicro-controller 900. The signals on pins RXD and TXD on themicro-controller 900 receive and transmit signals respectively throughthe MAX202 RS232 Interface chip 930, which in turn interfaces with thecomputer through an RS232 connector 940. The microcontroller 900receives a clock input from a crystal oscillator XT1, as shown.

[0157]FIG. 9B illustrates a communication format between the browsingdevice 200 or 260 and the computer sent through the RS232 interface,where each message packet, having 4 bytes, is formed in themicro-controller 900, later saved in a memory register in the interfacechip 930, and eventually saved in RAM in the computer to which thebrowsing device communicates. The first two bytes are the Header Bytes,holding a hexadecimal value FF00 in hexadecimal number, specifying tothe computer that it is a message from the browsing device 200 or 260.The last two bytes, the Parameter Bytes, contain the body of themessage. Byte 3 holds a Parameter 1, specifying the type of informationcontained in Byte 4. Byte 4 holds a Parameter 2 that specifies aparticular user-actuated browsing device setting. RS-232 (or EIA-232)specific information is found in Stallings, W., Data and ComputerCommunications, Fifth Edition, Prentice Hall, Chapter 5, pages, 140-156,the contents of which is incorporated herein by reference.

[0158] Parameter 1 specifies whether any one of the first set of buttons(BT0-BT7 in FIG. 9A) or second set of buttons (BT8 and BT9 in FIG. 9A)is pressed, or whether there is a change in the position of a finger orforce on the left and right sensors. The first set of buttons are the 8buttons on the left and right of the browsing device 200 or 260 and thesecond set of buttons are the buttons that can function as mouse buttonson browsing device 260. Depending on Parameter 1, Parameter 2 specifieswhich particular button is pressed or the position of a finger on aparticular sensor or the magnitude of the force on a particular sensor.

[0159] Particular codes used to represent the Parameter 1 settings areshown below: Byte Value Parameter 1 (Byte 3) Setting (hex)BrowserButtonDownSet1 01 BrowserButtonDownSet2 02BrowserFirigerPositionChangeLeft 82 BrowserFingerPositionChangeRight 84BrowserFingerForceChangeLeft 81 BrowserFingerForceChangeRight 83

[0160] Particular codes used to represent the Parameter 2 settings areshown below: Information in Parameter 2 (Byte 4) Byte Value (hex) IfByte 3 is 01, then closed/open 00-FF state of buttons BT7-BT0 arerespectively represented by value of Byte 4 If Byte 3 is 02, thenclosed/open 0x, 1x, 2x or 3x. state of buttons BT9 and BT8 arerespectively represented by third and fourth most significant bits ofvalue of Byte 4 If Byte 3 is 82, then change in 00-FF position isrepresented by value of Byte 4 If Byte 3 is 84, then change in 00-FFposition is represented by value of Byte 4 If Byte 3 is 81, then forceis 00-FF represented by value of Byte 4 If Byte 3 is 82, then force is00-FF represented by value of Byte 4

[0161]FIG. 9C is the flowchart of the assembly language program—theBrowsing Device Monitor Program—resident in the micro-controller 900memory (or resident in memory accessible by the microcontroller 900) forthe purpose of processing the input signals from the various sensors andbuttons of the browsing device 200 or 260 and sending them to thecomputer through the RS232 interface using the format described in FIG.9B. In step 950, initialization of interrupt vectors, variables, portsand counter/channel timings are carried out. The process then flows tostep 951, where a check is made to see if any data is sent from thecomputer to the RXD line (through the RS232 connector, as shown in FIG.9A). If not, the process flows to step 953. If so, the same data isechoed through the TXD line in step 952. The process then flows to step953, where a check is made to see if the data on the ADC channel 0 hasbeen changed. If not, the process flows to step 955. If so, the processflows to step 954 where the data on ADC channel 0 is sent to the TXDline (with the appropriate preceding bytes as described in FIG. 9B),after which the process flows to step 955. The operations that takeplace in steps 955 and 956 are similar to the operations in steps 953and 954 except that the data on ADC channel 1 is checked and sent to theTXD line if necessary, after which the process flows to step 957. Thesteps from 957 to 960 are for checking and sending data on ADC channels2 and 3, after which the process flows to step 961.

[0162] In step 961 a check is made to see if one of the buttons BT0-BT7has been pressed. If not, the process flows to step 963. If so, the bytepattern (Parameter 2 as discussed above) indicating which button hasbeen pressed is sent, together with the appropriate bytes 1-3, to theTXD line, after which the process flows to step 963. In step 963 a checkis made to see if one of buttons BT8 and BT9 has been pressed. If notthe process flows to step 951. If so, the byte pattern indicating whichbutton has been pressed is sent, after which the process returns to step951.

[0163]FIG. 9D is a block diagram of an information flow from thebrowsing device electronic circuit of FIG. 9A, by way of the monitorprogram 970 (shown in FIG. 9C) and device driver 971 to thebrowsing/viewing software 720 (as will be discussed with respect to FIG.12). The signal from the browsing device 970 is sent through the RS232port and is received by the device driver software 971 resident on thepersonal computer, such as IBM Aptiva 2176X71 running the MICROSOFTWINDOWS 95® operating system. The signals through the RS232 port areencoded preferably using the format shown in FIG. 9B. The device driversoftware, written in the C++ programming language, sends the signals itreceives from the RS232 port to the browsing/viewing software 720 usingthe message mechanisms available under MICROSOFT WINDOWS 95. TheMICROSOFT WINDOWS 95 message WM_USER+5 is preferably used to achievethis purpose.

[0164]FIG. 10A illustrates a flippable book 1000 embodiment that isdisplayed on the computer screen 1001. The pages in this book aredisplayed much like the pages in a physical, paper book. Note that onthe left and right sides of the book are displayed the thicknesses 310,thus indicating a relative position of the opened pages of the book withrespect to the preceding pages and following pages.

[0165]FIG. 10B illustrates an exemplary series of display screens of theflipping page display. More particularly, FIG. 10B shows four of theintervening positions of a page 1005, 1006, 1007 and 1008 as it flipsfrom the right side of the book to the left side (in the sequence1005→1006→1007→1008). The arrow 1009 indicates the direction of movementof the edge of the said page. To input the contents of a documentresident on the computer into the browsing/viewing software 720 togenerate the required display, the method of converting the documentdata file on the fly is used. To achieve real-time responses, thecontents of the document are read from the hard disk and displayed in aflipping fashion within a short time, say, less than 0.5 second, of thecomputer receiving a command from the browsing device 200 or 260 orother input device such as the keyboard. To satisfy this real-timerequirement on a typical personal computer the flipping mechanisms areimplemented using the Direct X API (Application Programming Interface)from MICROSOFT that allows very low level functions on the computer tobe accessed so as to achieve the speed required. In particular, a DirectX function BLT (block transfer) is used to generate the flipping actionfast enough for real-time purposes. As such, the 3D effect of theflipping action is achieved through changing the width of the pageinvolved in the direction of flipping. When a sequence of images is seenby the human eye including the page involved with gradually decreasingand then increasing widths, a perception of a flipping page is obtained.

[0166] In the current embodiment, the speed of movement through thedocument can be changed on a command from the browsing device 200 or260—namely the force applied on one of the force sensors. In the lowerspeed range, only one page is shown to flip across the book at any giventime. The time it takes to flip from one side to the other side of thebook reduces as the speed of flipping or movement through the documentincreases. Up to a certain point, further increase in speed of movementthrough the document is achieved by more than one page being flippedacross at any given time.

[0167]FIG. 10C shows two pages 1010 and 1011 being flipped across at thesame time. As the speed increases, more and more pages would be flippedacross at the same time. This feature of multi-page flipping providesconsistency for the flipping paradigm. If only one page is allowed toflip across at any given time, then at a very high speed of flipping,the movement through the document would degenerate into the flashingmode with all its attendant deficiencies.

[0168] When one or more pages are in the process of being flipped acrossthe field of view in one direction, say, from right to left, the usercan reverse the direction of flipping with immediate effect byactivating the browsing device 200 accordingly.

[0169]FIG. 10D illustrates the operations of the jump cursor 380. On thethickness on the side of the book is displayed a highlighted lineparallel to the length of the thickness that indicates the currentposition of the jump cursor. The user can move this cursor across thethickness by moving his finger on the position sensor 121 or 171 on thebrowsing device 200 (or 261 or 262 on the browsing device 260) to selectthe position in the document to jump to before effecting the jump.

[0170]FIG. 10E shows a jump being effected to a different portion of thedocument—a thickened page 1015 with a thickness proportional to theamount of material skipped over is shown to flip across the book.

[0171]FIG. 10F illustrates the creation of a finger-bookmark 320. Whenone of the finger-bookmarking buttons 131-134 and 181-184 on thebrowsing device 200 is pressed, one of the currently viewed pages wouldbe bookmarked and a finger-bookmark is displayed sticking out from theedge of the page involved as shown in FIG. 10F. Using the browsingdevice 200 or 260, up to four finger-bookmarks can be created on eachside of the book and they are displayed at locations in the thicknesses310 that correspond to the locations of the bookmarking buttons on thebrowsing device 200 or 260. A property of a finger-bookmark is that ifthe page that it bookmarks flips, it would be removed, freeing thecorresponding finger-bookmarking button for future finger-bookmarking.

[0172]FIG. 10G shows the retention of the finger-bookmark 320 created inFIG. 10F after the user has flipped to other pages.

[0173]FIG. 10H shows a jump being effected to the page bookmarked inFIG. 10F through the use of the finger-bookmarking button (that is, oneof 131-134 and 181-184) on the browsing device 200 that was earlier usedto bookmark that page. The display of the jumping action is similar tothat effected through the use of the position sensor and jump cursor asdescribed above and illustrated in FIGS. 10E—a thickened page 1020proportional to the amount of material skipped over is shown to flipacross the book.

[0174]FIG. 10I shows an example in which the maximum number (in thepresent embodiment, although a greater number of bookmarks is possiblein a less restrictive embodiment) of eight finger-bookmarks 320 iscreated.

[0175]FIG. 11 illustrates an embodiment of a window-oriented interface1100 displayed on the computer screen that allows the user to set thesensitivities of the force and position sensors 121 and 171 on thebrowsing device 200.

[0176] One embodiment of the above browsing operations illustrated inFIGS. 10A-FIG. 10H controlled from a browsing device 200 is as follows.There are two force thresholds, F1 (typically about 50% of the maximumforce signal generated by the sensor 121 or 171) and F2 (typically about80% of the maximum force signal generated by the sensor 121 or 171),defined for the force sensing aspect of the sensors 121 and 171 on thebrowsing device 200. When the user's finger applies a force less thanF1, no action is taken. If a force greater than F1 is applied and thenremoved in a short time, say in less than T1 (typically about 1 secondor less), a single page is shown to flip across and then no furtherchange in the book display 1000 is made until other operations areperformed. Starting from a force less than F1, if a force greater thanF1 but less then F2 is applied and held for longer than T1, the browsingprocess enters a continuous flipping mode. Pages continue to flip for aslong as the force is greater than F1, and the speed of movement throughthe document (as reflected in the speed of flipping of one page or thenumber of pages flipped across at any given time) increases as the forceon the sensor 121 or 171 of the browsing device 200 increases. In thecontinuous flipping mode, as soon as the force falls below F1, theflipping actions stop.

[0177] Starting from a force less then F1, if a force greater than F2 isapplied and held for longer than T1, the browsing process enters thejump exploration mode. In this mode, the user can move the jump cursorusing the position sensing capabilities of the sensor 121 or 171 on thebrowsing device 200 to select the page to which to jump. The user'sfinger movement in the x-direction (as defined in FIG. 2A) on the forceand position sensor 121 or 171 is translated into the movement of thejump cursor in the direction of the thickness of the book. When adesired location to jump to is selected, the user lets the force fallbelow F1, and the jump to the selected location is effected. If in thejump exploration mode the user decides to terminate the mode and notexecute any jump, he can press one of the unused finger-bookmarkingbuttons 131-134 and 181-184 (i.e., the button has not been used tobookmark any of the pages in the document) on the browsing device 200 tocancel the mode.

[0178] For finger-bookmarking, when the user desires to finger-bookmarkone of the pages currently in view, he would use one of thefinger-bookmarking buttons 131-134 and 181-184 on the browsing device200. The buttons 131-134 on the right side of the browsing device 200are for bookmarking the right-hand page and vice versa for the leftside. One click of the button involved creates a finger-bookmark 320.The button is now associated with the bookmark 320 thus created. Thebookmark is removed—i.e., the bookmark disappears and the button becomesunused—as soon as the bookmarked page is flipped. Another way afinger-bookmark can be removed is when the button associated with it isclicked one time. To return to a finger-bookmarked page, the user has tofirst enter the jump exploration mode using the method described aboveand then press the button associated with the finger-bookmarked page.

[0179] The present embodiment of the browsing operations, as controlledfrom the browsing device 200, are preferably implemented in software,say, the C++ computer language, held in a computer readable medium andexecutable on a personal computer such as an IBM Aptiva 2176X71. FIGS.12A-12I show the respective flowcharts of this software. Because theflipping processes for forward flipping and backward flipping to movethrough the document in both directions are symmetrical, only themechanism for one of the directions—the forward direction—is described.

[0180]FIG. 12A is the Main software loop that begins in step 1201, wherevarious flags are initialized. The process then flows to step 1202,where 8 sub-routines that will be separately described are executed. Theprocess then flows to step 1203 where a check is made to see if the userdesires to terminate the entire program. If so, the program terminates.If not, the process flows back to step 1202 where all the 8 sub-routinesare executed again.

[0181]FIG. 12B is the flowchart for the DoRActivate (activation ofright-side processes) sub-routine, which is a first of the eightsubroutines discussed above. In step 1205, the RActivate flag is checkedto see if it is 0. If not, the process ends; if so, the process flows tostep 1206 where the RJECancelled flag is checked to see if it is 0. Ifnot, the process ends; if so, the process flows to step 1207 where acheck is made to see if FR (the force on the right sensor on thebrowsing device 200) is greater than a preset threshold F1 (typicallyabout 50% of the maximum force signal generated by the sensor 121 or171). If not, the process ends; if so, the process flows to step 1208where RActivate is set to 1. The process then flows to step 1209 whereRModeCounter, a counter for deciding which mode of the browsing processthe user intends to enter, is started.

[0182]FIG. 12C is the flowchart for the DoRModeEnter (decide which modeto enter based on signals from the right sensor) sub-routine. In step1211, a check is made to see if RActivate is equal to 1. If not theprocess ends; if so the process flows to step 1212 where a check is madeto see if RModeCounter is greater than a preset, short, time T1. If notthe process flows to step 1218. If so, the process flows to step 1213where RmodeCounter is set to 0. After that the process flows to step1214 where a check is made to see if FR is greater than a presetthreshold F2 (F2>F1). (F2 is typically about 80% of the maximum forcesignal generated by the sensor 121 or 171.) If so, the flag RJEStart isset to 1 in step 1217 and after that the process ends. If not, theprocess flows to step 1215 where a check is made to see if FR is greaterthan F1. If so the process flows to step 1216 where the flag ContFFlipis set to 1, after which the process ends. If not, the process flows tostep 1219 where if one or more than one page is in the process offlipping from the left side to the right side of the book, the directionof flipping of the left-most page moving in that direction is reversed,or else a page is launched from the right side to the left side of thebook. (After a page is launched or made to change its direction offlipping, the page continues its flipping action in an independentprocess while the current process continues.) After that the processflows to step 1220 where RActivate is set to 0, after which the processends. In step 1218, a check is made to see if FR is less than F1. If notthe process ends; if so the process flows to step 1219.

[0183]FIG. 12D is a flowchart for the subroutine DoContFFlip (continuousforward flipping mode). In step 1221, a check is made to see if the flagContFFlip is equal to 1. If not the process ends. If so, the processflows to step 1222 where, based on the current speed setting determinedby the force signals from the sensor 121 or 171, if one or more than onepage is in the process of flipping from the left side to the right sideof the book, the direction of flipping of the left-most page moving inthat direction is reversed if it is time to do so, or else a new page islaunched if it is time to launch the new page. This is because thehigher the flipping speed setting, the sooner a page would be launchedafter the launch of the previous page, or the sooner a page would haveits direction reversed after the previous direction reversal of a page.After step 1222, the process flows to step 1223 where a check is made tosee if FR is less than F1. If not, the process ends; if so, the processflows to step 1224 where ContFFlip is set to 0. Subsequently, theprocess flows to step 1225 where RActivate is set to 0, and then, theprocess ends.

[0184]FIG. 12E shows the flowchart of the subroutine DoRJEStart. In step1231, a check is made to see if RJEStart is equal to 1. If not, theprocess ends. If so, the process flows to step 1232 where XR, thefinger's position on the right sensor, is read. The process then flowsto step 1233 where a variable XRStart is given the value of XR. Theprocess then flows to step 1234 where RJEStart is set to 0.Subsequently, the process flows to step 1235 where RJExplore is set to1, and then the process ends.

[0185]FIG. 12F illustrates the flowchart of the subroutine DoRJExplore.In step 1241, a check is made to see if the flag RJExplore is equalto 1. If not, the process ends. If so, the process flows to step 1242where XR is set to be the current position value of the finger on theright sensor. The process then flows to step 1243 where a check is madeto see if XR is not the same as XRStart. If that condition is not met,the process flows to step 1245. If that is true, the process flows tostep 1244 where the jump cursor's position on the thickness on the rightside of the book displayed on the computer screen is updated. Theprocess then flows to step 1245. In step 1245, a check is made to see ifany finger-bookmarking button has been pressed. If so, the process flowsto step 1250. If not the process flows to step 1246 where a check ismade to see if FR is less than F1. If not the process ends. If so theprocess flows to step 1247 where a jump is made to the page indicated bythe jump cursor. After that, the process flows to step 1248 where theflag RJExplore is set to 0. Subsequently, the process flows to step 1249where the value of RActivate is set to 0, and then the process ends.

[0186] In step 1250, a check is made to see if the button just pressedhas been assigned to bookmark a page. If so, the process flows to step1252 where a jump is effected to the page bookmarked by Button X andafter that, the process flows to step 1248. If not, the process flows tostep 1251 where the value of RJECancelled is set to 1, and then to steps1248 and 1249 before ending.

[0187]FIG. 12G shows the flowchart of the subroutine DoRJECancelled. Instep 1261 a check is made to see if the value of RJECancelled is equalto 1. If not, the process ends; but, if so, the process flows to step1262 where a check is made to see if FR is less than F1. If not, theprocess ends; but, if so, the process flows to step 1263 where the valueof RJECancelled is set to 0, and then the process ends.

[0188]FIG. 12H illustrates the flowchart of the subroutineDoFingerBookmark. In step 1271, a check is made to see if anyfinger-bookmarking button has been pressed once. If not, the processends; but, if so, the process flows to step 1272 where a check is madeto see if the button pressed has already been assigned to bookmark apage. If so, the process flows to step 1275 where the associatedbookmark is removed and then the process ends. If not, the process flowsto step 1273 where a check is made to see if the page on the same sideas the pressed button has been bookmarked. If so, the process ends; but,if not, the process flows to step 1274 where the page isfinger-bookmarked and the just pressed button is associated with thisbookmark, and then the process ends.

[0189]FIG. 12I shows the flowchart of the subroutine DoFBRemove. In step1281, a check is made to see if any finger-bookmarked page is beingflipped. If not, the process ends; if so, the process flows to step 1282where the bookmark is removed. After that, the process ends.

[0190]FIGS. 13A and 13B illustrate a different, alternative method ofdisplaying flipping pages on a computer screen. The pages are shown tobend as they flip, enhancing the 3D effect and ease of use for a reader.FIG. 13A shows a page 1301 bending as it is being flipped from right toleft. FIG. 13B shows the bending of a group of pages 1302 that areskipped over when a jump is made to a different portion of the book.Even though the 3D effect is better, this method can provide real-timeflipping—i.e., the generation of the flipping pages and browsingoperations in a short time in response to commands from, say, thebrowsing device 200—the method places a greater processing load on aprocessor than the other methods. For example, in 1997 a higher speedcomputer such as the Silicon Graphics O2 workstation would be bettersuited than a typical personal computer to perform the requisite videoprocessing.

[0191]FIGS. 14A-14C describe the video processing performed to displaythe bending pages. When a page flips, the points on its moving edgeopposite its stationary edge (i.e., the edge that is joined to the edgesof the other pages) sweep over an arc. Let these points be called themoving points and the points on the stationary edge be called thestationary points. The arc over which the moving points of a flippingpage sweep is obtained from an arc on an ellipse 1401 as shown in FIG.14A. The arc lies in quadrants I and II and between two end points 1402and 1403, one of which has a gradient of −1 and the other 1.

[0192] The thickness of the book determines how much of this arc is usedwhen the book is opened right in the middle as shown in FIG. 14B. Beforeany flipping action begins, the moving points 1404 lie along a shortsegment of the arc 1404 obtained from FIG. 14A. The stationary points1405 lie along an appropriately translated version of the short arc.During the flipping action of a page, its stationary points do not move,as shown in FIG. 14C. Its moving points sweep across the arc as theirX-axis values change, say, linearly. As these points move, arcs have tobe generated to join the moving points to their corresponding stationarypoints so that the page would bend as it flips. These arcs 1406 aregenerated based on the equation x=ky**2 as shown in FIG. 14C.

[0193]FIGS. 15A, 15B and 15C depict another embodiment 1500 of thebrowsing device 100 of FIGS. 1B and 1C. This device 1500 includes manythin, hard and flexible pieces of material 1501 bound together in themanner of the binding of the pages in a book, except that the “flipping”side is made into a slanted surface 1520 in much the same way as in thedevice 100 depicted in FIG. 1B. When the thumb 122 applies a force ontothe slanted surface 1520, the “pages” 1501 will bend like the pages in anormal book and the bending force is sensed to effect the sameoperations as those performed by the thumb's force on the slantedsurface 121 of the browsing device 100. To jump to a certain page, thethumb 122 slides along the slanted surface 1520 in the x-direction(similar to that defined for the browsing device 100) until it reachesthe desired position, say XT, and then it bends the remaining pages1501, much like one would bend the pages of a book in the process ofholding onto the left and right edges of the book to browse through thepages, which results in a slight separation 1560 of the pages 1501 forwhich x>XT from those pages for which x<XT and a gap 1560 in the pages1501 is created where the thumb 122 is placed. Thin film sensors 1570are placed on the surfaces of these mini-pages 1501 to sense theseparation 1560 and hence the location to jump to in the documentinvolved. The mapping of the position of the thumb 122 to the pagejumped to in the document is identical to that used in the device 100depicted in FIGS. 1B and 1C as described above in the flowchart in FIG.4 (shown as FIGS. 4A and 4B). Four buttons 1511-1514 are provided on thetop surface 1510 and four buttons 1531-1534 are provided on the bottomsurface 1530 of the device 1500 that function like the four buttons111-114 on the top surface 110 and the four buttons 131-134 on thebottom surface 130 respectively of the browsing device 100. Mechanisms1551 and 1552 are also provided to join two devices 1500 (a left-handand a right-hand version) together. All other operations are identicalto those described for the device 100 depicted in FIGS. 1B and 1C.

[0194]FIGS. 16A and 16B depict yet another embodiment 1600 of thebrowsing device 100 of FIG. 1B. In this embodiment 1600, a liquidcrystal display (LCD), plasma or other type of display screen 1605, muchlike what is normally used as a laptop computer monitor or calculator,is fitted onto the slanted surface 1602 of the browsing device 1600 asshown in the FIG. 16. It is used to display the amount of materialpresent before and after the currently viewed material. To do this, athickness 1607 is displayed on the screen 1605 that is proportional tothe amount involved, that changes with the changes of the amountinvolved. On this thickness 1607, bookmarks 1620 can be displayed thatindicate the locations of the pages/parts of the document involved. Thesame methods as described before for the computer book 300 depicted inFIG. 3 are used here on the screen 1605 for the following: (a) displaythe change of thickness; (b) display the bookmarks, and (c) display, thethickness 1607, of the location of the page/point in the document thatwould be jumped to were jumping to be effected at any given moment basedon the thumb's x-position on the sensor area 1606 at that moment.Transparent force and position sensors 1606 overlay the screen 1605 andfunction much like what has been described before for the sensor area121 in the browsing device 100 except that now the thumb 122 can move tothe “absolute” location of the page to be jumped to effect the jumping.In this scheme, even though the thickness 1607 of material as well asthe bookmarks 1620 are displayed on the screen 1605 of the browsingdevice 1600, they can also be displayed on the computer monitor screenlike in the case described for the computer book 300 in FIG. 3 at thesame time.

[0195] The absolute distance method for computing the point/page in thedocument to jump to when jumping is activated will be described. Let x=0be the x-position on the screen 1605 that is nearest the edge adjoiningthe top surface 1610 and the slanted surface 1602. Recall that theintersection of the thumb 122 with the slanted surface 1602 has somespatial extent and the thumb 122 is considered to be at position x1 ifit covers the point x1 and some contiguous points x such that x>x1.Consider now that the thickness of the book displayed on the screen 1605is XS−XH, where XS is the width of the screen 1605. Let PR be the amountof remaining material in the document as defined before. The process ofjumping can only be activated when the thumb 122 is at XT>XH, and whenthat happens, the amount of material skipped, PJ, is equal toPR*(XT−XH)/XS.

[0196] In the embodiment of the browsing device 1600, four buttons1611-1614 are provided on the top surface 1610 and four buttons1631-1634 are provided on the bottom surface 1630 of the device 1600that function like the fours buttons 111-114 on the top surface 110 andthe four buttons 131-134 on the bottom surface 130 respectively of thebrowsing device 100. Mechanisms 1651 and 1652 are also provided to jointwo devices 1600 (a left-hand and a right-hand version) together. Allother operations are identical to those described for the device 100depicted in FIG. 1B.

[0197] The above browsing system 700 (FIG. 7) is adapted to be used inconjunction with any software method that allows the reorganization ofthe material in the document involved to facilitate browsing/viewing.For example, under software control, in conjunction with the use of amouse cum cursor method, say, two or more pages in the document to becompared or parts of the document to be compared can all be broughttogether and displayed in the currently viewed page(s). This may beachieved by, say, using the mouse cum cursor to first select parts ofthe current viewed pages by clicking the mouse button and dragging themouse like what is normally done or to select one of the currentlyviewed pages by double clicking on that page where the cursor is nowpositioned. And then, after moving to another part of the document, thecursor can now be positioned over a point on one of the currently viewedpages and the selected material can be brought into view by one click ofthe mouse button. The selected material, if it is one page full, willsimply cover the page on which the cursor was placed before the oneclick of the mouse button to bring it into view. If the selectedmaterial is not one page full, it will be positioned, say, to the rightand bottom of the cursor, and cover part of the page on which the cursorwas placed before the one click of the mouse button to bring it intoview. Another click of the mouse button will remove this temporarilyplaced material to allow one to see what was on the page originally.This temporarily placed material will also automatically disappear fromthe page on which it was placed after that page disappears from viewafter the user activates movement to other parts of the document.

[0198] The above browsing system 700 can also be used in conjunctionwith any software method that allows the highlighting of selectedportions of the material or annotations of the pages in the documentinvolved to facilitate browsing/viewing/reading.

[0199] The above browsing system 700 is suitable for use not just forbrowsing through or viewing documents that do not require any processingof their contents while they are being viewed, but also in conjunctionwith a word-processing system. Instead of creating a document andprocessing it on a computer screen like what is normally done, and thenscroll up and down to view and browse through it using the usual mousecum scroll bar method, the method of viewing and browsing through thedocument as described in the above browsing system 700 can be used. Theprocess of entering/deleting material in the document can also be madeto be consonant with the method of movement through the document (i.e.,one of the methods 500, 510, 520, 530 and 540 described in FIGS. 5A-5E).If the word processing is used in conjunction with, say, the flippingmethod 500 of moving through the document, as one finishes enteringmaterial for the right-hand page, the page will flip over to reveal anew, empty page for the entering of material. As one deletes materialuntil nothing is left on the currently viewed pages, continued deletionwill effect a flipping back to the previous page. Similar mechanisms canbe used in conjunction with the other three non-scrolling methods ofmoving through the document—namely the sliding method 510, the flashingmethod 520, and the vertical flipping method 540.

[0200] The above browsing system 700 is adapted for use in conjunctionwith any software in which there is information/icons of control“buttons” to be displayed, either for viewing or manipulating, thatcannot be fitted within one computer screen. In this case, scrolling inconjunction with the use of a mouse is often done, or sub-menus andsub-operations can be selected by pressing icons of “buttons” on thescreen. In the case of selection of sub-menus and sub-operations, thesub-menus or displays containing buttons for sub-operations are flashedon the screen once they are selected. When there is a large amount ofthis kind of information/operations present in the software, it willbenefit from the use of the browsing system—the system can provide agood idea of what kinds of information/operations are available, wherethey can be found and how they are related to each other, as well asfast access to them. To be used in conjunction with the current browsingsystem 700, these menus/sub-menus and buttons foroperations/sub-operations can all be organized into a “book” and accessto them can be effected by the browsing system 700 described above. In1997, the most popular and convenient form of human-computer interfaceis the “Windows” interface that grew out of the “desktop metaphor” inwhich manipulating items on a computer screen is likened to manipulatingitems on a desktop. This kind of interface, though representing a vastimprovement over previous kinds of interface and user-friendly, stillsuffers from one of the problems of manipulating items on a desktop—aperson's desktop tends to get very messy and things are hard to findwhen there are too many of them present. In the Windows interface, whenthere are a lot of sub-directories/files within a directory that cannotbe fitted within one window or one screen, they are to be located byscrolling through the use of a mouse, with all the attendant problems asdescribed above for the browsing of information using this method.Looking for items (say, a program or data file) whose names orassociations with particular directories/sub-directories are not knownin advance by going up, down, and across many levels of the directorystructure is also a tedious and confusing process because it suffersfrom a lack of a holistic view of the entire directory structure. In theWindows interface, a typical computer program communicates with the userthrough “working windows”—the computer program accepts input from anddirects its output to a prescribed, often rectangular, area on thecomputer screen. In the process of completing a typical task, often manyprograms have to be activated which gives rise to many windows beingopened on the computer screen. When many windows are opened, they tendto obscure each other and those that are currently not in view are hardto find because their locations (in the “third dimension”—the “directionperpendicular to the screen”) are not fixed, much like a scatteredcollection of papers on a desktop. Users often have to keep closing andopening the same windows repeatedly or moving them aside by directingthe mouse cursor to various locations on the computer screen in theprocess of completing a particular task on the computer.

[0201] The present invention improves the human-computer interface byorganizing these directories/sub-directories or temporary workingwindows into “books” to be manipulated by the browsing system 700described above. All information contained in memory on the computer canbe organized into one big book or more than one book at any givenmoment, hence the descriptive phrase “library metaphor”. There are atleast three possible improvements over the conventional “windows”interface. First, sub-directory and file icons that cannot be fittedonto one window/screen can be browsed through and better accessed ifthey are organized/implemented in a form to be used in conjunction withthe browsing device/system 700 described above. FIG. 17A depicts oneembodiment of this in conjunction with the flipping method 500 of movingthrough the document: items 1701—directories/sub-directories or files-ina window 1705 are placed in the pages of the book 1700 which is aninstance of the computer book 500 depicted in FIG. 5A. Second,sub-directories 1715 (FIG. 17B) and files 1716 that are normally foundin windows 1714 in the current window-based systems can be organizedinto chapters, sections, etc. in a computer book 1720 (an instance ofthe computer book 500 depicted in FIG. 5A) instead and used inconjunction with the browsing system 700, an embodiment of which isdepicted in FIG. 17B. Third, items that are being worked on, eithercollections of files and sub-directories or the current working areas ina software (such as a word-prbcessor) which current systems present in“windows”, can be organized into pages in a “scrap book” to be used inconjunction with the browsing system 700 with its attendant advantages.FIG. 17C depicts one embodiment of this in conjunction with the flippingmethod 500 of moving through the document. Either each window 1725 mapsonto one page or many windows 1725 can map onto one page in a computerbook 1730 (an instance of the computer book 500 depicted in FIG. 5A).

[0202] In one embodiment, all opened windows, whether they are for theshowing of directory contents or working windows of programs, can bejoined together into a book as shown in FIGS. 18A-18M. Generally, as oneopens windows in the process of operating the computer, theseautomatically become pages in a book, or more than one book, where thepages are “window-pages” and the books are “working books”. If thepreferred flipping method is used to organize the pages in this book, itfurther enhances the ability to search for items (whether it be a filein a directory or a certain item in a program's working window)—unlikethe case of the current WINDOWS system, because each page now acquiresan absolute location, they are easy to locate. In addition, if thebrowsing device is used in conjunction with this kind of computerinterface, it confers two major advantages. First, the search for andaccess to items can benefit in the same way as in the browsing of adocument. Second, one mode of the operation of the flip-browsingcontroller, in which the controller is placed on the table and operatedby one hand as described earlier (for example, in conjunction with FIG.2H), can be taken advantage of to lighten the load of the hand thatoperates the mouse and provide a complementary function to that of themouse.

[0203] Often, one uses the mouse for all the operations including theopening and closing of windows and the search for icons to locate closedor occluded windows, etc. that do not involve the keyboard. Now, one canuse one hand to operate the mouse and the other to operate the browsingdevice. The mouse is reserved for the higher precision, analytic kind ofoperations such as the positioning of the cursor over a small item onthe computer screen while the browsing device is used for a lowerprecision, holistic kind of operation such as the flipping of thewindow-pages to access different windows. Together, these increase thebandwidth of the user's interaction with the computer and can alsospread the load of hand/finger operations onto both hands, thus loweringthe possibility of repetitive strain injury.

[0204] We now describe one embodiment of this “books” interface in whichthe series of windows opened during the process of operating thecomputer become the “window-pages” in a “working book”. FIGS. 18A-18Mshow an example of the sequence of operations as one opens windows onthe computer. Initially, suppose the user is at the usual WINDOWS 95®desktop as shown in FIG. 18A, which is now shown on the computer screen1800 as the first page 1802 of a working book 1801 yet to be made fromsubsequent window-pages. This first page 1802 could be thought of asresiding on a sheet of “paper” that has two sides and currently theother side of this first page 1802 is empty. Now, suppose the user,uses, say, a typical computer mouse and, pointing the mouse cursor atthe appropriate position, “double-clicks” on the “My Computer” directoryicon 1803 to open it. The contents of “My Computer” 1803 are now addedto the working book 1801 in one or more subsequent pages. Right afterthat the desktop window-page 1802 will be shown to flip to, say, theleft side to reveal the contents of “My Computer” 1805 at the back ofthis window-page 1802, as shown in the sequence of images 1806, 1807,1808, 1809 in FIG. 18B. The entire contents of the directory “MyComputer” 1803 can be fitted into one page 1805. The arrow 1804indicates the direction of movement of the flipping page 1802. Duringthis flipping action, a blank page 1810 is also created on the rightside of the working book 1801. Next, suppose the user now opens thedirectory “System C” 1815 whose icon resides on the current left page1805 and whose contents cannot be fitted into one page. The contents of“System C” 1815 would fill a number of pages, starting from theinitially empty right page 1810 currently on the display as shown inFIG. 18C. In particular, in addition to the first page of contents 1816,two more pages, now manifested as a thickness 1817 on the right side ofthe working book 1801, are created to contain the entire contents ofSystem C and they are all “joined” to the back of the page currently onthe right 1810. The user can reveal the contents of “System C” byactivating a flipping process as shown in FIG. 18D. The sequence ofimages 1821, 1822, 1823, 1824 shows the flipping process. The arrow 1820indicates the direction of movement of the flipping page 1816. Two morepages of contents 1818 and 1819 of the directory “System C” 1815 arerevealed. The last page 1819 of the directory “System C” 1815 iscurrently the last page of the working book 1801.

[0205] Suppose now the user chooses to open a directory named “Windows”1830 under the directory “System C” 1815 whose icon 1830 resides on thesecond page 1818 of the directory “System C” 1815 as shown in FIGS. 18Dand 18E. The pages containing the contents of the directory “Windows”1830 are now added to the back of the right page 1819 currently on thedisplay. These pages are manifested as a thickness 1831 on the rightside of the working book 1801. Even though the pages containing thedirectory just opened—“Windows” 1830—have been added to the working book1801, the first page of this directory 1830 is not visible right awaybecause it is “hidden behind” the current page 1819 on the right. Hence,right after the pages of the directory “Windows” 1830 are added and thethickness 1831 associated with them is displayed, the current right page1819 begins to flip to the left to reveal the first page 1840 and thesecond page 1841 of the directory “Windows” 1830 as shown in thesequence of images 1835, 1836, 1837, 1838 in FIG. 18F. “Windows” 1830 isa larger directory than “System C” 1815 and its contents are containedin 13 pages of the current working book 1801.

[0206]FIG. 18G illustrates the effect of browsing about the pages 1840,1842, 1844, 1845, 1847, and 1849 containing the contents of thedirectory “Windows” 1830 by flipping through them with, say, the aid ofthe browsing device 200. These pages can be flipped forward or backwardindividually or together or in various forward and backward flippingcombinations according to the user's wish using the system withmechanisms described in FIGS. 9A-9D, 10A-10I, and 12A-12H. In FIG. 18G,four pages 1842, 1844, 1845 and 1847 are being flipped at the same time,and the arrows 1855 show that three of the pages 1842, 1844 and 1845 arebeing flipped to the left while one of the pages 1847 is being flippedto the right. (Earlier all four pages 1842, 1844, 1845 and 1847 couldhave been launched from right to left, and then the user decides, whilethey were still moving from right to left, to reverse the direction ofthe right-most moving page 1847, perhaps because he suspects that thereare things on Page 12 (the back of Page 11—1845) or Page 13—1847—thatcould be of interest. This results in this snap-shot of flipping actionin FIG. 18G.) FIG. 18H shows the last few pages 1848, 1850 and 1852 ofthe directory “Windows” 1830. The page 1853 after the last page 1852 ofthe directory “Windows” 1830 is currently empty.

[0207] Suppose now the user chooses to go to one of the pages 1847 ofthe directory “Windows” 1830 that contains a file named “fcc962088G”1865 which is a data file for a document as shown in the top leftpicture 1871 of FIG. 18I. Suppose the user now chooses to open“fcc962088G” 1865. On the activation of that operation, the system addsthe pages of “fcc962088G” 1865 to the end of the working book 1801 andjumps to the first page 1853 that contains the contents of the file“fcc962088G” 1865, as shown in the sequence of images 1871, 1872, 1873,1874. There is an increase in the thickness 1866 on the right side ofthe working book 1801 as soon as the contents of the file “fcc962088G”1865 are added to the end of the working book 1801. Many interveningpages between the page on the right side 1847 just before the jump andthe last page 1852 of the directory “Windows” 1830 are skipped over inthis jumping process and the display shows a thickened page 1847flipping from right to left of the working book 1801. The arrow 1867shows the direction of movement of the thickened page 1847. Because thelast page 1852 of the directory “Windows” 1830 resides on the left sideof the working book 1801, the first page 1853 of the just opened file“fcc962088G” 1865 is added to the initially empty page 1853 on the rightside. This example of the opening of a document file is an example ofthe activation of a program as opposed to earlier examples that wereexamples of the opening of directories.

[0208] The user can now flip to the other pages of the document“fcc962088G” 1865 to read or carry out other operations as shown in thesequence of images 1877, 1878, and 1879 in FIG. 18J. The forwardflipping (from right to left, as indicated by the arrow 1876) of thepage 1853 reveals two other pages 1854 and 1855 of the document“fcc962088G” 1865.

[0209] In FIG. 18K, the user carries out a typical operation performedon an electronic document—the change of the font of some of the words1880 on one of the pages 1855 of the document “fcc962088G” 1865. Atypical pulled down menu 1881 is used to carry out this operation.

[0210] Suppose now the user decides to return to one of the pages 1842of the directory “Windows” 1830 to activate another program. FIG. 18Lshows that the activates the jump cursor 1882 (in the top left picture1884) and activates a backward (from left to right) jumping process toreturn to one of the pages 1842 of the directory “Windows” 1830 tolocate the icon of a program “Calc.exe” 1888. The sequence of images1884, 1885, 1886 and 1887 shows the jumping process. The arrow 1883indicates the direction of movement of the skipped over pages 1844-1853(hidden). (If the desired icon cannot be located at the end of thisjumping process, the user might then flip the pages back and forth tolocate it.)

[0211]FIG. 18M shows the actions that result when the user activates theprogram “Calc.exe” 1888. The window-page for this program 1888 is addedafter the current last page 1856 of the working book and a jump isautomatically made to reveal the window-page 1857, as shown in thesequence of images 1891, 1892, 1893 and 1894. The arrow 1890 indicatesthe direction of movement of the skipped over pages 1844-1855 (hidden).

[0212] At this point, a sizeable working book 1801 (FIG. 18M) has beencreated. At any moment, when the user needs to search for some items,whether it be a file or a control button on a program's window, the usercan benefit from the organization of these items in the working bookthus created and the method of locating them through flipping and theuse of the browsing device 200. What is effectively created is a kind of“simultaneous multiple-screen” display: because of the book-likeorganization including the flipping method of moving through the book,the user knows roughly where these “screens” of information are locatedand, in conjunction with the browsing device, has rapid access to them.It is like having a much larger computer display screen to displayvarious information simultaneously because these “screens” areaccessible almost simultaneously. This effectively increases by a largeamount the size of the computer screen whose limited size is a vexingproblem for many computer users. The conventional window-orientedsystem, despite the fact that it also allows users to create multiplewindows of information, does not provide the structure, organization anduser-input method required to achieve this “simultaneous multiple-screeneffect.”

[0213] The method described using the example of FIG. 18 is only onemode of operation of the Books interface. In another mode, instead ofdisplaying two pages side-by-side on the screen and using both sides ofeach “sheet of paper” to display information like in the case of atypical book, an alternative is to display information on only one sideof each “sheet of paper” and have the entire flippable page occupy thecomputer screen, as shown in FIGS. 19A-C.

[0214] In FIGS. 19A-C, a page 1901 is shown to flip to the left(direction of movement indicated by the arrow 1905) to reveal anotherpage 1902. All the flipped pages collect in a thickness 1903 on the leftside. We term this a one-sided book. This is a useful method especiallyfor the working window-pages of a program since it would be advantageousto make full use of the screen for the purpose of interfacing with aprogram.

[0215] Sometimes, when the user is not interested in having the contentsof a directory, say, spread over many pages, perhaps because the userwants to have quick access to the pages that come after the directory,the user can choose to activate a “single-page” mode which will onlygenerate one page to display the contents of the directory involved.Then, the traditional scrolling mechanism is used to access the parts ofthe contents not visible initially on that page.

[0216] There are also other modes available for the addition of pagesinto the current working book. Instead of adding the pages to the end ofthe current working book, as shown in the example in FIGS. 18A-18M, theuser can choose to have the pages added:

[0217] 1. To the beginning of the entire working book;

[0218] 2. Right after or before the pages currently in view;

[0219] 3. Right after or before the pages associated with the pagescurrently in view, such as after the last page or before the first pageof the many-page directory to which the pages currently in view belong;

[0220] 4. To an arbitrary location in the current working book oranother working book displayed elsewhere on the computer screenindicated by, say, the mouse cursor or the jump cursor 380 of FIG. 10 onthe thickness of the working book involved; or

[0221] 5. As the first page of a new working book (when, say, the mousecursor is pointing at a blank part of the computer screen just beforethe generation of the new page(s))

[0222] The user may also choose the dimensions—the height and width—ofthe newly opened pages. These pages can be set to automatically have thedimensions of the current working book, or they can appear in thedimensions in which they most recently appeared. The dimensions of eachpage are also changeable. Hence the resulting working book wouldresemble more a clipped-together collection of arbitrarily sized paperthan a typical book in which the dimensions of all its pages are thesame. This is to facilitate especially the operations of workingwindow-pages of programs which normally require a wide range ofwindow-page sizes to contain the information required for the programsto interact with the user.

[0223] Like in the conventional WINDOWS-based system, each window-pagecan be resized, maximized, minimized or closed. In addition to theseoperations, a “tear-off” operation is available for the user to, say,tear off a selected page and place it in a selected location in anotherworking book that is also on display at the same time, as shown in FIG.20. In FIG. 20, a page 1853 of a working book 1801 is shown being tornoff to be added between the two opened pages 2002 and 2003 of anotherworking book 2001. The typical computer mouse can be used to carry outthis operation—that is, to “drag” the torn-off page 1853 from the sourceworking book 1801 to the destination working book 2001. Instead oftearing off one page at a time, the user can also choose to tear off aselected number of contiguous or non-contiguous pages from the workingbook, or all the associated pages, say, from the same directory. A“join” operation is available to join selected “torn-off” pages at anyselected location in any selected existing working book or theseselected torn-off pages can be used to form the first pages of a newworking book.

[0224] The Books interface can be used in conjunction with the WINDOWSinterface to take advantage of both the library and desktop metaphor asdepicted in FIG. 21. In FIG. 21, a usual Windows-oriented operatingsystem, such as MICROSOFT WINDOWS 95®, is shown displayed in thebackground on the computer screen 2100 with the usual desktop icons2101. One directory window 2102 and two application windows 2103 and2104 are opened. Also created is a working book 2105. Hence only whenthe user so desires, the opened windows would become the window-pages ofa working book, or else they would behave like the windows in a typicalWindows system such as MICROSOFT WINDOWS 95®.

[0225] In addition, one can also create a “directory book”, withflippable pages, that contains the entire directory contents on thecomputer to facilitate browsing and searching for items whose locationswithin the directory tree structure are unknown. The directory structureof the typical Windows system remains on the system to allow fast searchwhen items' locations in the directory tree structure are known, thuscomplementing the browsing method.

[0226] The Books interface described above in FIGS. 18A-18M, 19, 20, and21 can be implemented on a personal computer system using the C++programming language (or other programming language) to implementvarious browsing and other necessary operations. Preferably, similarmechanisms used in the implementation of a flipping display as describedin FIGS. 10A-10I, such as the use of the Direct X API (ApplicationProgramming Interface) and in particular the BLT (Block Transfer)function are used to generate flipping window-pages capable ofresponding in real-time to various browsing commands.

[0227]FIG. 22 shows the flowchart of one embodiment of the Booksinterface mechanisms. The process begins when the user elects togenerate a working book and then in step 2201, the first pages of theworking book are generated. These pages are organized into a pluralityof flippable window-pages joined along one edge. One, or alternativelytwo, of these pages is displayed on the computer screen. The processthen flows to step 2202 where a check is made to see whether the userhas selected any operations. If not, the process returns to step 2202and checks again. If so, the process flows to step 2203 where a check ismade to see if the operation the user selected was the opening of adirectory or the creation of a new program-user interface “window”. Ifnot, the process flows to step 2204. If so, the process flows to step2205 where the new window-pages of the directory opened or theprogram-user interface are added to the current working book or anotherexisting working book or are used to form a new working book dependingon the user's specification as to where the new pages are to be added.If it is necessary, images of flipping intervening window-pages aregenerated to get to the location at which the new window-pages are to beadded. These window-pages are added as a plurality of flippable pagesjoined along one edge and joined to any existing window-pages. Theprocess then flows to step 2206 where one page or multiple pages areadded depending on whether the user has selected the single-page ormulti-page mode. The process then flows to step 2207 in which thedimensions of the page to be added are generated according to user'sselection of whether they be the same as the current working book or themost recently used dimensions for those pages. The process then flows tostep 2208 where one or two of the newly added window-pages are displayedon the computer screen in the working book to which they are added. Theprocess then flows to step 2202. In step 2204, operations other thanthose related to the addition of window-pages to a working book areperformed according to the operations selected by the user.

[0228]FIG. 23 describes a method for displaying a computer-based set ofinformation on a display screen controlled by the inventive browsingdevice. Step 2301 displays a thickness image of a set of informationcorresponding to the size of a data file which holds the set ofinformation. The thickness image includes a left side portion and aright side portion which are displayed on the display screen. The leftside portion of the thickness image is displayed on the left side of thescreen and is proportional to an amount of the information that precedesa given point in the set of information that is currently beingdisplayed on the display screen. The right-hand portion of the thicknessimage is displayed on the right-hand side of the display and isproportional to an amount of the information that comes after the pointas currently displayed on the display screen. For example, if thecurrently displayed point is near the end of the document, the left-handside of the display will have a thickness image that appears thickerthan that on the right-hand side.

[0229] After step 2301, the process flows to step 2302 where allexisting finger-bookmarks are displayed in a first image format. Then,in step 2303, all existing permanent-bookmarks, are displayed in asecond format. Both the finger-bookmarks and the permanent-bookmarks aredisplayed in the location in the thickness display corresponding to thelocations of the material they bookmark. Then the process flows to step2304 where the user elects to bookmark the currently viewed material anda new bookmark (finger-bookmark or permanent bookmark) is added to thedisplay. After 2304, the process flows to step 2305 where a positionwithin the set of information is jumped to in response to a jumpposition indicated by the instrument (e.g., the user's finger). Once theposition is jumped to, the process ends.

[0230]FIG. 24 describes a method for browsing a computer-based set ofinformation. The process starts in step 2401 where a move command isgenerated to move a pointer through a set of information hosted on thecomputer either in a forward direction or a backward direction. Theprocess then flows to step 2402 where the pointer is moved in responseto the command that was generated in step 2401. The process then flowsto step 2403 where the speed of movement of the pointer through theinformation is adjusted. The process then flows to step 2404 where ajump command is received. The process then flows to step 2405 where apointer is moved to a jump position in response to the received jumpcommand. The process then moves to step 2406 where a bookmark command isreceived to mark a desired portion of text or graphics information fromthe set of information. A user enters the bookmark command based on thedesired portion of textual graphics. The process then moves to step 2407where the desired portion is marked in the set of informationcorresponding to the received bookmark command, after which the processends.

[0231]FIG. 25 is flowchart for a computer-interface process. The processstarts in step 2501 where a set of information hosted on the computer isarranged in a set of books. Each of the books includes a subset of theinformation from the set of information hosted on the computer. Oncearranged, the process flows to step 2502 where each of the books islabeled with a respective portion of the subset of informationcorresponding with each book. The process then flows to step 2503 where,based on user input, a user can select a selected book by first viewingbooks which are displayed as a single book document image. The bookdocument image is made up of individual pages that correspond to therespective portions of the books. The process then flows to step 2504where a command is generated, as actuated by the user, to move throughthe pages so that a user can view the individual pages and select adesired book. The process then flows to step 2505 where the pages of thebook are displayed in an animated image where the pages of the bookdocument are either flipped (preferable), scrolled, slid or flashed onthe screen. The process then flows to step 2506 where, while viewing theanimated image, the user via user input can select one of the pages. Byselecting one of the pages, the user has selected the desired book. Theprocess then flows to step 2507 where the selected book is displayed asthe image of a book document. However, pages of the selected bookdocument include respective portions of the subset of informationcorresponding to the selected book. The process then flows to step 2508where a move command is generated for moving a pointer through a subsetof the pages of the selected book. The process then flows to step 2509where an animated image is displayed of the pages in the selected bookbeing shown as either flipped (preferable), scrolled, slid or flashed onthe screen. The process then flows to step 2510 where a selected bookpage of the selected book is selected by the user via a user inputindication. Once the user has selected the desired book page, theprocess ends.

[0232]FIG. 26 is the flowchart for a book-oriented computer interfaceprocess. The process starts in step 2601 where a command is receivedfrom the user to create window-pages to contain the contents of adirectory or a program-user interface. The process then flows to step2602 where a command is received from the user to indicate whether thesenew window-pages are to form the first pages of a new working book or tobecome pages at a selected location within the current working book oranother existing working book. The process then flows to step 2603 wherethe new window-pages are added to the said location or as pages in a newworking book. The process then flows to step 2604 where a command isreceived from the user whether to add one or more window pages. If onlyone page is added to contain the contents of the directory or theprogram-user interface involved, then scrolling may be necessary toreveal portions of the contents that cannot be fitted within the onepage initially. The process then flows to step 2605 where the size ofthe new window-pages to be added is determined based on user selection.The process then flows to step 2606 where the newly added pages areorganized into a plurality of flippable pages joined along one edge andjoined to any existing pages in the said working book. The process thenflows to step 2607 where, if necessary, the flipping of some of thepages of the said working book are generated and displayed on thecomputer screen to get to the said location for the adding of the newlyadded working pages and one or more of the newly added working-pages arethen displayed on the computer screen in the said working book. Theprocess then flows to step 2608 where user commands are received toperform various operations such as browsing operations on a selectedworking book such as flipping, jumping and bookmarking or otheroperations involving a selected working book such as resizing,minimizing, maximizing, closing, or “tearing-off” of selectedwindow-pages or joining of selected “torn-off” window-pages to selectedexisting working books or any operations normally performed on acomputer. After that, the process ends.

[0233] The mechanisms, methods and processes set forth in the presentdescription may be implemented using a conventional general purposemicroprocessor programmed according to the teachings in the presentspecification, as will be appreciated to those skilled in the relevantart(s). Appropriate software coding can readily be prepared by skilledprogrammers based on the teachings of the present disclosure, as willalso be apparent to those skilled in the relevant art(s).

[0234] The present invention thus also includes a computer-based productwhich may be hosted on a storage medium and include instructions whichcan be used to program a computer to perform a process in accordancewith the present invention. This storage medium can include, but is notlimited to, any type of disk including floppy disks, optical disks,CD-ROMs, magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, flashmemory, magnetic or optical cards, or any type of media suitable forstoring electronic instructions.

[0235] While particular embodiments of the present invention have beenillustrated and described, it will be appreciated that numerous changesand modifications will occur to those skilled in the art, and it isintended that the appended claims cover all those changes andmodifications which fall within the spirit and scope of the presentinvention.

[0236] Obviously numerous modifications and variations of the presentinvention are possible in light of the above teachings. It is thereforeto be understood that within the scope of the appended claims, theinvention may be practiced otherwise than specifically described herein.

What is claimed as new and is desired to be secured by Letters Patent ofthe United States is:
 1. A programmed processor-based informationbrowsing device comprising: a body having a sensor device comprising aposition sensor and a force sensor disposed on a sensor area of saidbody, said sensor device producing a position signal and a force signalcorresponding to a position and a force of an instrument applied to saidsensor device; at least one set of sensors actuable by said instrument,disposed on said body; a processor coupled to said sensor device andsaid at least one set of sensors, said processor being programmed to,receive said position and force signal and produce at least onecorresponding transducer signal that is readable by a programmedcomputer, produce at least one state signal when at least one of saidset of sensors is actuated by said instrument, and output via an outputport the at least one transducer signal and said at least one statesignal to the computer, wherein said programmed computer hosts a set ofinformation, said at least one corresponding transducer signal and saidat least one state signal forming at least one of a direction ofmovement command, a change of speed command, a jump to a specifiedlocation command, and a bookmark command recognizable by said programmedcomputer as user-actuated commands for manipulating a displayed image ofsaid set of information.
 2. The device of claim 1, wherein: said bodycomprises, an opposed top and bottom surface, and a sensor surface inwhich said sensor device is disposed; and said set of sensors comprises,a first subset of sensors disposed on said bottom surface that whenactuated cause said processor to produce a first state signal of said atleast one state signal representative of a state of said first subset ofsensors, and a second subset of sensors disposed on said top surfacethat when actuated cause said processor to produce a second state signalof said at least one state signal representative of a state of saidsecond subset of sensors.
 3. The device of claim 2 further comprisingthe programed computer comprising: a computer-readable medium that holdssaid set of information; and another computer-readable medium that holdsa set of instructions that when executed by the programed computerimplement, a receiving mechanism that receives said at least onetransducer signal, said at least one transducer signal comprising afirst force signal and a second force signal respectively generated bysaid sensor device in response to said instrument applied to a firstposition along one direction of said sensor device and later applied toa second position of said sensor device, a jumping mechanism thatproduces a jump from a first point in said set of informationcorresponding to said first position to a second point in the set ofinformation corresponding to the second position, and a skippingmechanism that produces a skip of a subset of said set of informationproportional to a distance between said first position and said secondposition.
 4. A computer based browsing system comprising: a browsingdevice comprising, a sensor device comprising a position sensor and aforce sensor, said sensor device producing a position signal and a forcesignal corresponding to a position and a force of an instrument appliedto said sensor device, at least one set of sensors actuable by saidinstrument, a processor coupled to said sensor device and said at leastone set of sensors, said processor being programmed to, receive saidposition and force signal and produce at least one correspondingtransducer signal that is readable by a programmed computer, produce atleast one state signal when at least one of said set of sensors isactuated by said instrument, and output via an output port the at leastone transducer signal and said at least one state signal to theprogrammed computer; and the programmed computer comprising, a displayon which an image of said set of information is displayed in a bookformat, a computer-readable medium that holds said set of information,another computer-readable medium that holds a set of instructions thatwhen executed by the programed computer implement, a receiving mechanismthat receives said at least one transducer signal and at least one statesignal, a book image display mechanism that displays a book format imageof at least a portion of said set of information, and a changed displaymechanism that changes the book format image displayed on said displayfrom specific pages of said book format image being displayed to otherpages being displayed, a first portion of said set of information beingdisplayed on said specific pages, and a second portion of said set ofinformation being displayed on said other pages.
 5. The system of claim4, wherein said another computer-readable medium holds additionalinstructions that when executed by the programed computer implement: acreating mechanism that creates a finger-bookmark based on said statesignal received by said receiving mechanism, a finger-bookmark imagedisplay mechanism that displays an image of a finger-bookmark on saidbook format image, said display mechanism comprising, a removingmechanism that removes said finger-bookmark image when a currentlydisplayed subset of information of said set of information is closer toan end position of said set of information than a position of saidfinger-bookmark image.
 6. The system of claim 5, wherein said anothercomputer-readable medium holds additional instructions that whenexecuted by the programed computer implement: a permanent-bookmark imagedisplay mechanism that displays a permanent-bookmark image in responseto receiving said at least one state signal; a transferring mechanismthat transfers said permanent-bookmark image from a first side of saidbook format image of said set of information to a second side of saidbook format image of said set of information when the currentlydisplayed subset of information is closer to said end position of saidset of information than a position of said finger-bookmark image; and asimultaneous display mechanism that simultaneously displays saidfinger-bookmark image and said permanent-bookmark image.
 7. The systemof claim 5, wherein said another computer-readable medium holdsadditional instructions that when executed by the programed computerimplement: a page jumping mechanism that jumps to a page of said bookformat image of said set of information nearest the currently displayedmaterial, said page being marked by at least one of said finger-bookmarkor said permanent-bookmark.
 8. The system of claim 5, wherein saidanother computer-readable medium holds additional instructions that whenexecuted by the programed computer implement: a page jumping mechanismthat jumps to a page of said book format image in response to receivingsaid at least one transducer signal and said at least one state signal.9. A programmed processor-based browsing device comprising: a left-handprocessor-based information browsing device module, comprising, a firstbody configured to be operated by a left hand of a user, comprising, anopposed first top surface and a first bottom surface, and a first sensorsurface having a first sensor device disposed thereon, said first sensordevice detecting a position and force of an instrument applied thereto,a first set of sensors actuable by said instrument, disposed on saidfirst bottom surface, and configured to produce a first state signal ofat least one state signal representative of a state of said first set ofsensors, a second set of sensors actuable by said instrument, disposedon said first top surface, and configured to produce a second statesignal of the at least one state signal representative of a state ofsaid second set of sensors, a right-hand processor-based informationbrowsing device module operatively joined to said left-handcomputer-based information browsing device, comprising, a second bodyconfigured to be operated by a right hand of a user, comprising, anopposed second top surface and a second bottom surface, and a secondsensor surface having a second sensor device disposed thereon, saidsecond sensor device detecting a position and force of an instrumentapplied thereto; a third set of sensors actuable by said instrument,disposed on said second bottom surface, and configured to produce athird state signal of the at least one state signal representative of astate of said third set of sensors, and a fourth set of sensors actuableby said instrument, disposed on said second top surface, and configuredto produce a fourth state signal of the at least one state signalrepresentative of a state of said fourth set of sensors; and a processorcoupled to at least one of said first sensor device and said secondsensor device and programmed to convert the force and position of theinstrument into at least one transducer signal and output the at leastone transducer signal and the at least one state signal to a computer,said computer hosting a set of information, as least a portion of whichis displayed as a book format image on a display.
 10. The device ofclaim 9, wherein said processor further comprises: a computer readablemedium having, a right-hand transducer program contained therein thatwhen executed by said processor converts the force and position of thesecond sensor device into a forward browsing signal used by saidcomputer to browse the information in a forward direction, and aleft-hand transducer program contained therein that when executed bysaid processor converts the force and position of the first sensordevice into a backward browsing signal used by said computer to browsethe information in a backward direction, wherein a speed of browsing ineither the forward or the reverse direction is proportional to the forcerespectively applied to said second sensor device and said first sensordevice.
 11. The device of claim 10, wherein: said processor whenexecuting said right-hand transducer program producing a forward jumpsignal corresponding to the force applied at a position along a firstdirection of said second sensor device indicative of a forward point inthe set of information in which to jump, said forward point in which tojump located between a portion of said information currently beingdisplayed, and an end of said information; and said processor whenexecuting said left-hand transducer program producing a backward jumpsignal corresponding to the force applied at a position along a firstdirection of said first sensor device indicative of a backward point inwhich to jump located between said portion of material currently beingviewed and a beginning portion of said information.
 12. The device ofclaim 9, wherein: said processor being programmed to produce a set ofright-hand bookmark signals corresponding to respective states of saidthird set of sensors, each of said set of right-hand bookmark signalscorresponding to a command output to said computer to place a right-handbookmark on said information currently being displayed; and saidprocessor produces a set of left-hand bookmark signals corresponding torespective states of said first set of sensors, each of said set ofleft-hand bookmark signals corresponding to a command output to saidcomputer to place a left-hand bookmark on said information currentlybeing viewed.
 13. The device of claim 10, further comprising theprogrammed computer comprising: a computer-readable medium that holdssaid set of information; and another computer-readable medium that holdsa set of instructions that when executed by the programed computerperform the steps of, organizing the information into a plurality ofpages, receiving said at least one transducer signal which comprises aninitial force signal and an opposing force signal from respective onesof said first sensor device and said second sensor device initial forcesignal, displaying said pages of said book format image being flipped inresponse to said initial force signal received in said step of receivingsaid initial force signal, receiving said opposing force signal,stopping said pages from being flipped in said displaying step inresponse to receiving said opposing force signal, and displaying animage of a resting position of two pages lying in an open fan format.14. The device of claim 13, wherein: said at least one transducerproduces said opposing force signal by first producing a first signalindicative of a first force applied in a first position of said at leastone first sensor device or said second sensor device and then producinga second signal indicative of a second force applied in a secondposition of said at least one first sensor device or said second sensordevice, and said computer-readable medium holds instructions that whenexecuted by the programed computer perform the steps of, preventing saidpages from being completely flipped to an end of said information inresponse to said step of receiving said opposing force signal, anddisplaying an image of the flipped pages collected in a central-thickpage positioned at approximate angles between the two flat pages. 15.The device of claim 2, wherein: said body is contained in a user inputdevice comprising at least one of a mouse, track-ball and a gyro-mouse;and the programmed computer, which receives said at least one transducersignal and said at least one state signal, comprising a computerreadable medium holding a program that when executed by said programmedcomputer performs the steps of, receiving a signal from said user inputdevice, and selecting in response to receiving said signal an item ofinterest on a currently displayed page of an image of a set of pages ofsaid set of information.
 16. The device of claim 15, wherein saidcomputer readable medium comprises a bookmarking program that whenexecuted by the computer performs the step of bookmarking a plurality ofpages of said set of information, said pages containing informationrelated to said selected item.
 17. A computer based information browsingsystem, comprising: a processor-based information browsing devicecomprising, a body comprising, an opposed top and bottom surface, and asensor surface having a sensor device disposed thereon, said sensorsurface detecting a position and force of an instrument applied thereto,a first subset of sensors actuable by said instrument, disposed on saidbottom surface, and configured to produce a first state signal of atleast one state signal, and a second subset of sensors actuable by saidinstrument, disposed on said top surface, and configured to produce asecond state signal of said at least one state signal, a processorcoupled to said sensor device and programmed to convert the force andposition of the instrument on the sensor device into at least onetransducer signal and output the at least one transducer signal and theat least one state signal; a programmed computer comprising, a display,a computer-readable medium that holds said set of information, andanother computer-readable medium that holds a set of instructions thatwhen executed by the programed computer implement steps of, receivingthe at least one transducer signal indicative of at least one of anamount of force applied by a user to a sensor on said browsing deviceand a position on said sensor where said force is applied, said force,initially displaying on a display an image of pages of a book containingsaid portion of said set of information, and changing said image toother pages of said book, a relative position of said other pagescorresponding to said amount of force and said position of saidinstrument on said sensor as applied by said user.
 18. The browsingsystem of claim 17, wherein the computer-readable medium holdsinstructions that when executed by the programed computer implementsteps of: reorganizing a subset, of said set of information, currentlybeing displayed in response receiving said at least one transducersignal, said subset of information being displayed in an image ofside-by-side pages of a book; highlighting a selected subset of said setof information in response to receiving an external signal; andincluding user-defined information into said subset of informationselected.
 19. The browsing system of claim 17, wherein at least one of aword processing software program and a graphics processing softwareprogram comprises said instructions.
 20. The browsing system of claim17, wherein a multi-purpose software program, including a multi-mediaprogram and a user-interface program, comprises said instructions. 21.The browsing system of claim 17, wherein a Windows-based operatingsystem includes said instructions.
 22. The browsing system of claim 21,wherein said instructions comprises instructions for combining amouse-CUM-cursor browsing mechanism with at least one of a flippingoperation, sliding operation, flashing operation and a scrollingoperation.
 23. The browsing system of claim 17, wherein said computerreadable medium includes library instructions that when executed by saidprogrammed computer implement a library mechanism that catalogs said setof information into subsets of information so to be displayed asrespective book images.
 24. The browsing device of claim 1, wherein saidprocessor comprises a memory encoded with a data structure fortransferring browsing commands to said computer, said data structurecomprising: a header field that holds sensor state data; a firstbrowsing parameter field that holds a command-type value that isindicative said command-type being at least one of, the force of saidinstrument on said sensor device, the position of said instrument onsaid sensor device, and the states of a subset of said state-signalgenerating sensors; a second browsing parameter field that holds a valueassociated with the command-type held in said first browsing parameterfield, comprising at least one of, a force value indicative of the forceof said instrument on said sensor device, a position value indicative ofthe position of said instrument on said sensor device, and a state valueindicative of the state of a subset of said state-signal generatingsensors.
 25. The browsing device of claim 1, wherein: said header fieldof said data structure comprises two bytes of data; said first browsingparameter comprises one byte of data; and said second browsing parametercomprises one byte of data.
 26. A computer-readable medium whosecontents cause a computer to perform an operation for displaying aportion of a set of information stored in a computer readable memory asa book image format, said portion corresponding to browsing commandsoutput from a user-actuated browsing device, by performing the steps of:arranging a set of information hosted on a computer into a set of books,each book of said set of books comprising a subset of said set ofinformation; labeling each book with a respective portion of said subsetof said set of information; and selecting a selected book from the setof books, said selecting step comprising, displaying said respectiveportions of said books as book document images comprising pages, saidpages corresponding to said respective portions of said books,generating a command for moving through said pages, displaying ananimated image of said pages of said book document being at least one offlipped, scrolled, slid and flashed, on a display, and selecting saidbook when one of said pages containing a predetermined portion of saidbook is displayed in said displaying step.
 27. The computer-readablemedium of claim 26 whose contents, when executed by the computer, causethe computer to perform additional steps of: identifying a selected bookpage of a set of book pages within said selected book, comprising thesteps of, displaying the selected book as the image of the bookdocument, generating a move command for moving a pointer through asubset of pages of said selected book, displaying an animated image ofsaid pages in said book document being at least one of flipped,scrolled, slid and flashed in said display, and selecting said selectedbook page in said selected book when the selected book page is displayedin said step of displaying an animated image of pages in said book. 28.A computer-readable medium whose contents cause a computer to perform anoperation for displaying a portion of a set of information stored in acomputer readable memory in a book format image, said portioncorresponding to browsing commands output from a user-actuated browsingdevice, by performing the steps of: generating a command to move apointer through said set of information; moving said pointer in at leastone of a forward direction and a backward direction through saidcomputer-based set of information in response to said command generatedin said generating step; adjusting a speed of said movement of saidpointer through said computer-based set of information corresponding tosaid command generated in said generating step; jumping to a selectedlocation in said computer-based set of information, said jumping stepcomprising the steps of, receiving a jump command, and moving saidpointer from a current position in said computer-based set informationto a user-defined jump position; and bookmarking a desired portion ofsaid computer-based set of information, said desired portion comprisinga selected subset of a text or a graphics information, said bookmarkingstep comprising the steps of, receiving a bookmark command via auser-entry, and marking said desired portion of said computer-based setof information corresponding to said user entry are displayed at anygiven time; and
 29. A computer-readable medium whose contents cause acomputer to perform an operation for displaying an image of a flippingpage on a computer screen, said flipping page comprising stationarypoints which are points linked to other pages and moving end pointswhich are points moving with highest linear velocities, comprising thesteps of: deriving a segment from an ellipse or circle; using thesegment as an orbit of said moving end points of said flipping page;generating an animated image of said flipping page by moving said movingend points along said orbit; and interpolating a curved surface betweensaid moving end points and said stationary end points for each of theposition of said moving end points on said orbit.